繁体   English   中英

Cloud Foundry的服务到服务通信

[英]Service-to-service communication for Cloud Foundry

我需要将两个节点服务部署到CF(每个服务都在其自己的容器中)。 应用程序需要通信。 建议如何实施这种沟通? 我找不到任何说明CF中服务到服务通信的指南,并且由于它应该部署到云中,因此我需要一些最佳实践。 一些示例将非常有帮助。

这是一个经典的问题,总是会解决任何企业应用程序集成模式,并且最终归结为需要什么样的集成类型。

如果应用程序希望通过同步通信来获得实时响应,则RESTFul API是该时代最受欢迎的集成风格。 但是,还需要考虑的是,创建大量的API(这是基于微服务的体系结构的缺点)也带来了维护集和定位正确集的巨大开销。 API网关和服务发现工具在这里应该有所帮助。 我是Blue-mix的新手,但是您可以肯定地在其上托管Spring-Cloud-Eureka或基于Consul的服务发现来实现此目的,并且类似地, Spring Cloud Zuul拥有一个API网关。

这里的另一个简单问题是,确保不构建一个集中服务来迎合整个微服务世界,而是拥有许多此类服务来满足上下文绑定的微服务。

同样,如果需要进行异步通信 ,则消息代理(例如-RabbitMQ,Kakfa)应该是应用程序通信的最佳和最简单的集成方式。 同样的要点不是建立SPOF服务,而是有一组单独的服务实例,每个服务实例对应一组有界微服务,这在这里也适用,所有这些实例都应进一步联合以进行更广泛的通信。

您的答案将取决于您希望应用之间进行哪种通信。

如果您希望为Node服务部署基于微服务的架构模式,即执行独立,精细的业务功能的服务器代码,那么我建议您开始在这里阅读文档并使用新的Bluemix Developer Console

这里有越来越多的模式和启动器,您可以用来了解和开发可通过彼此公开与Open API规范兼容的API端点并为全渠道客户端应用程序自动生成SDK来相互通信的云本机应用程序。

下载选定的启动器后,您可以修改代码以公开执行所需业务逻辑的API。 随后,您可以在容器中本地运行项目,或使用bx dev命令行工具将其部署到Bluemix。

设置好之后,您将在微服务和客户端应用程序之间进行跨平台,独立于语言的通信。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM