簡體   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