2017-03-03 163 views
2

我想實現無狀態和有狀態服務之間的TCP連接。我想知道什麼是最好的方式來實現這一點。無狀態服務會將一些數據頻繁地發送給有狀態的服務。有狀態服務將處理這些數據並存儲到狀態中。我們將擁有另一個無狀態Web API,它將使用Get()方法與此有狀態服務進行通信以獲取數據。可靠的服務無狀態和有狀態服務之間的通信

下面是我的通話流程。

無國籍服務 - >狀態服務 - >無狀態的Web API - > Web應用程序

回答

0

如果你想溝通直接與服務(直接因爲你沒有真正做到這一點在集羣環境因爲服務可能會從一臺機器移動到另一臺機器並更改IP),那麼該服務可以實現一個或大多數偵聽器,以創建一個端點以通過您認爲最好的任何協議(例如HTTP)進行訪問。然後,您可以使用客戶端庫與該服務進行通信。有關更多詳細信息,請參閱https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-reliable-services-communication

或者,您可以間接地在服務之間進行通信。您可以使用Azure存儲隊列或服務總線通過隊列進行通信 - 這在彈性環境中很有用,因爲發送者和接收者以不同的速度工作而不會造成太多問題。