2016-09-26 96 views
1

我們在azure服務結構集羣中託管了一羣基於owin的web api服務。所有這些服務都已映射到相關負載平衡器中的不同端口。在創建羣集時有2個開箱即用的探針。它們是:FabricGatewayProbe和FabricHttpGatewayProbe。我們添加了我們的端口規則,並在其中使用了FabricGatewayProbe。Azure服務架構羣集中的web api無狀態服務在閒置一段時間後是否會進入睡眠狀態?

由於某些原因,這些服務端點在閒置一段時間後似乎會休眠,因爲這些服務的客戶端會超時。我們嘗試將負載均衡器空閒超時期限調整爲30分鐘(這是最大值)。它似乎有助於立即但只是短暫的一段時間,然後我們又回到超時錯誤。

我應該在哪裏尋找解決方案?

+0

也許增加一個演員,定期ping你的服務?此外,請在此處查看服務生命週期:https://github.com/Azure/azure-content/blob/master/articles/service-fabric/service-fabric-reliable-services-advanced-usage.md –

+0

,你可以聽取停用事件並對其採取行動 –

+0

我查閱了文檔鏈接。如果我們沒有任何未處理的異常,那麼該服務不應該被關閉/中止。在這種情況下,我們是否仍然會遇到這些超時問題? – Raghu

回答

3

因此進一步對我們的意見,我同意的文件有不同的解釋,但做了一些測試後,我可以確認以下內容:

創建通過門戶網站一個新的集羣,它會給你一個1時:1規則與探測之間的關係,在修改我的現有ARM模板之一以使用現有探針時,我也能夠重現您的問題。

經過反思,如果您試圖在不同的端口上共享探測器的規則探針,負載均衡器如果知道其中一個服務是否真的啓動,服務結構(取決於您的實例計數設置)將移動節點之間的服務。

因此,如果在不同節點上使用相同探針的不同端口上有兩項服務,則不使用探針端口的服務將收到請求花費太長時間來響應的錯誤。

有點長囉,所以希望快速插圖將有助於展示我的意思。

enter image description here

+0

感謝您花時間測試我的問題。這當然是有道理的。我也會在我身邊測試它,並會報告我的結果。我希望文件可以是明確的。 – Raghu

+1

我回復說,此配置更改使我們的服務更好地運行。非常感謝您的幫助。 – Raghu

+0

哇,這真的幫了我很多,謝謝。 我剛剛緩慢的「熱身」時間,如4-5秒。但現在服務立即響應。 –

相關問題