云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

亚马逊云_windows云服务器_怎么样

小七 141 0

CloudFoundry部署的应用程序可以轻松地连接到诸如HANA、PostgreSQL或Redis之类的CloudFoundry服务,但是其他当前不支持的情况呢?

如果我们的应用程序需要访问在TCP端口3306上运行的MySQL服务器怎么办?

事实证明,手机自助建站,CF应用程序允许出站TCP连接,但这可能并不总是可行或可取的。

服务器具有公共名称/ip防火墙允许3306上CF应用程序的入站连接

如果保护服务器的防火墙阻止端口3306,但允许其他已知端口,则可以使用TCP over HTTP隧道重新路由到服务器的连接。

服务器具有公用名称/ip防火墙允许从8080(或80或443)上的CF应用程序进行入站连接,但不允许3306

此解决方案以一个示例MTA项目以及链接的docker项目和AWS示例图像进行说明。

MTA\U docker\U nodejs

如果服务器位于内部NAT保护的子网络上,则CF应用程序可以充当隧道服务器并创建与出站HTTP请求的连接。在这里,我们有效地交换了隧道客户端和隧道服务器的角色。一旦此路径打开,那么来自端口3306上的节点客户端的请求将被传递,就像MySQL服务器是本地的一样。

服务器没有公共名称/ip(在防火墙后面?)CF中Docker提供的容器有HTTPS的公共路由(WebSocket)

所有组件都可以托管在SAP云平台中,Cloud Foundry(黄色虚线框),但连接仍然需要通过主平台HTTP路由器,因为部署的容器即使部署到同一空间中,彼此之间也没有TCP可见性。因此从架构的角度来看,这类似于上面说明的第二种情况。

请记住在前面的所有案例中,企业开发软件,我假设MySQL服务器将部署在AWS EC2实例中,该实例的生命周期由dev ops管理,并且将在块存储设备(文件系统)适合这种服务器的环境中运行如果容器由于某种原因重新启动或重新启动,容器文件系统将从blob存储中重新加载,从而在最初部署时重置为其状态。这是微服务执行环境的固有行为,可能适用于服务器服务更短暂的性质(可能是自定义消息代理)。但对于服务器来说,这很可能是站不住脚的需要大量的数据存储。这样的设置可能需要将其状态持久化到对象存储服务,企业内部软件,并在重新启动时重新加载其状态。

当您使用SAP提供的数据库服务(如HANA、PostgreSQL或Redis)时,核心服务运行的环境由SAP dev ops根据该服务的需要进行调整,服务级别协议也包括备份/恢复等内容。您不必担心这些操作问题。

Docker提供的CF服务器容器具有公共路由客户端应用程序假定本地主机:3306是本地服务器危险在于,如果重新启动MySQL容器,所有数据库更改都将丢失

Cloud Foundry基金会定义的Cloud Foundry支持TCP路由,这将使所有讨论静音,但截至发帖之日,SAP目前尚未实施此功能。

有关此功能的更多详细信息,请参阅此处。

https://www.cloudfoundry.org/blog/tcp-routing-comes-to-cloud-foundry/

这可能会在未来某个时候在SAP的云平台上实现,我鼓励那些对此类功能感兴趣的人关注官方网站路线图文档。

有一个值得注意的例外,那就是运行在Cloud Foundry上的HANA As A Service(HaaS)实例。对于这些实例,而不是早期配置的HANA实例,生成一个唯一的主机名/端口并使其可用,以便允许JDBC连接的直接TCP连接。此外,还建立了这种情况下所需的TCP路由,便宜的云服务器,以便外部客户端应用程序可以进行直接JDBC连接。这本身就是在微服务中考虑HANA的一个重要原因体系结构。

本文的目的是说明在考虑SAP Cloud Platform Cloud Foundry时绕过某些已知限制的可能场景。这里描述的一切都是可能的,物联网培训,因为HTTP websocket样式的连接是云平台固有的支持功能,可以以创新的方式加以利用本图中使用的凿子隧道软件是用GO编程语言编写的,是开源的,在您向自己证明它满足您的需求之前,应该将其视为固有的不安全。我不保证本文中讨论的任何内容都能正常工作,安全地工作,或者以一种适合您的方式工作。这取决于系统架构师在您的情况下为自己证明这一点。