2016-06-14 11 views
1

說,我有一個節點類型有5個節點的服務架構羣集,並且在這些節點上部署了兩個無狀態服務5個節點,但我會在3個節點上部署service_1,在另外2個節點上部署service_2。如何使用負載平衡器路由流量到基於REST的無狀態服務,而不是在給定節點類型的所有節點上傳播

我知道一個節點類型實際上是一個VMSS,Azure會在該VMSS之上創建一個負載平衡器。它完美地適用於傳播到某些節點類型的所有節點的REST無狀態服務。

但在我的情況下,部署在節點上的服務,我還可以利用負載平衡器路由到兩個單獨服務的實例嗎?

回答

2

你有多種選擇:

  • 使用內置的從服務織物HTTP網關服務。不幸的是,我還沒有找到任何有關這方面的文檔,所以我不知道這個解決方案的優點和缺點。有關詳細信息,請參閱service-fabric-issues項目中的this comment

  • 實現你自己的無狀態網關服務,它有一個InstanceCount爲-1​​(這意味着它被放置在每個節點上)。該服務將像內部負載平衡器一樣工作,並將每個請求路由到正確的服務。有關現有網關項目,請參閱weidazhao's(微軟員工 - 此項目可能成爲SDK的一部分)或our project

  • 繼續使用一個指向整個規模集的負載均衡器,並使用探測方法讓負載均衡器禁用服務未運行的節點。但是,如果更改了展示位置,則會導致請求失敗,直到負載平衡器計算出來。

  • 爲每個服務創建單獨的節點類型(VM Scale Sets),併爲每個節點類型創建單獨的負載平衡器。但是,這會導致管理開銷並且在資源使用方面可能不理想。

有關於Azure的UserVoice的網站這個話題開放feature suggestion - 您的投票將受到歡迎。

+0

非常感謝您的建議。 – Youxu

+0

我一直無法自己配置選項1,但如果確實將GatewayService的InstanceCount設置爲-1,則選項2完美無缺 – rfcdejong

相關問題