云代工厂内部应用程序通信

tan*_*moy 5 paas cloud-foundry

我有3个应用程序在私有vcap实例中运行.一个充当面向客户的Web应用程序,而另一个充当后端系统,一个通过REST公开数据服务,Web应用程序消耗,另一个应用程序通过rabbitmq异步写入数据库.

现在,我的问题是:

1)如何不是面向客户的webapp调用公共URL,我如何直接与其他URL进行通信?

2)如何将webapp和数据库编写器应用程序绑定到同一个Rabbit实例.我将选择退出自动重新配置,但我如何获得兔子连接参数?

Dan*_*ham 2

我要反过来回答这些问题!您可以通过检查 VCAP_SERVICES 环境变量来绑定应用程序,这将包含绑定的 Rabbit 实例的详细信息。

当您部署应用程序的实例时,它会在虚拟机(称为 DEA)上启动。应用程序实例在虚拟机上分配了一个端口。在内部,所有 DEA 都可以相互“看到”,因此应用程序没有理由不能通过私有 IP 地址与在不同 DEA 上运行的另一个应用程序进行通信。

显然,在推送之前,您不知道应用程序将驻留在哪个私有 IP 地址甚至端口上,因此我建议您让每个应用程序在推送后通过 Rabbit“注册”其地址,以便其他应用程序可以找到它。