应用程序到Cloud Foundry的应用程序通信

假设你想部署2个应用程序,其中一个向第二个应用程序提供一些API。

有了服务,我只需要将服务绑定到我的应用程序(或者将其声明为依赖项)到我的应用程序中,从而获得有关传递给我的应用程序(例如,通过node.js中的envvariables)的主机,端口和凭证的信息。 应用程序“通信”有没有类似的机制?

到目前为止,我的方法是使用一个RabbitMQ服务(或任何消息代理/队列),这两个应用程序绑定,然后用于跨应用程序通信。

谢谢!

像你一样使用消息代理,绝对是一个可行的解决scheme。 这允许asynchronous通信。 但是,您必须自己负责身份validation,而不是通过cloudfoundry服务绑定来build立身份validation/授权的应用程序< – >服务通信。

另一种方法是使用服务registry。 这两个应用程序将注册服务registry,并能够发现对方。

你可以试试春云服务注册局(Eureka)或领事。 至于你的消息代理解决scheme,这将不会为你的应用程序生成凭证,就像cloudfoundry服务绑定一样。

从您的使用案例来看,对于微服务到微服务的发现,您需要Spring Cloud Services和Eureka。

我对nodejs没有太多的经验。 但是有些使用Google,会给你一些文章。 这里有一个可以帮助你 – https://www.npmjs.com/package/eureka-js-client

本文将从Java和Spring的angular度给您一个概述 – https://spring.io/guides/gs/service-registration-and-discovery/