0

我想創建一個使用ASP.NET Core作爲前端使用Azure服務結構託管的服務。Azure服務結構,可以有狀態的服務只有一個主要的?

如果我已經閱讀文檔正確則似乎是這裏僅有的兩個真正的選擇來處理我的會話數據...

1 - 創建一個使用外部數據庫如SQL Azure的存儲無狀態的服務會話信息。然後,我可以通過簡單地增加實例數量並獲得更多服務在節點上運行來進行擴展。只要Azure SQL數據庫能夠應付負載,那麼一切都很好。這很吸引人,因爲它很容易理解和實施。但它有額外的外部數據庫成本。

2 - 創建一個使用可靠集合(字典)存儲會話信息的有狀態服務。我不想將會話分割成多個分區,因爲會帶來額外的複雜性。但是對於單個分區,我堅持只有一個主服務器實例。這降低了擁有外部數據庫的成本。但不能擴展到兩個或更多服務器實例。

我對文檔的閱讀意味着您只能擁有一臺有狀態服務分區的主服務器。我有這個權利嗎?如果我能有更多的初選,那麼有100個初選可以嗎?

回答

1

不,你不能有100個初選。在有狀態的服務中,分區是您擴展的方式。您只能對主副本執行寫操作,主副本負責將該狀態複製到輔助副本。

我不確定你的意思是多分區的額外複雜性。這將如何與多個初選不同。您仍然需要知道哪些主要數據保存/檢索,這與分區無關。

相關問題