首页 > 解决方案 > 相同应用程序实例之间的 Pivotal Cloud Foundry p2p 通信

问题描述

以 hazelcast 作为成员运行 spring boot 应用程序。在本地机器上运行多个应用程序实例时,hazelcast 成员能够发现彼此。我想知道如何在部署在 pcf 上的应用程序实例之间实现相同的行为。仅推送配置了 2 个实例的应用程序并没有成功。已阅读有关容器到容器通信的文档,但它似乎适用于相互通信的不同应用程序,而不适用于同一应用程序的不同实例。

标签: spring-boothazelcastp2pcloud-foundry

解决方案


容器到容器网络是您最好的选择。它允许您在两个不同的应用程序之间或同一应用程序的实例之间进行交谈。

如果您尝试使用多播,我认为这行不通。不过,您可以在您的应用程序和应用程序实例之间打开 TCP 和 UDP 连接。默认情况下,所有端口和协议都被阻止,因此请确保您使用 . 打开正确的协议/端口组合cf add-network-policy

https://docs.pivotal.io/pivotalcf/2-4/devguide/deploy-apps/cf-networking.html#add-policy

要访问应用程序的不同实例,您可以使用多语言服务发现功能。它基本上为X.<app-name>.apps.internal. X实例编号在哪里。

有关详细信息,请参阅此处的集群示例。

https://www.cloudfoundry.org/blog/polyglot-service-discovery-container-networking-cloud-foundry/

希望有帮助!


推荐阅读