在我的應用程序中,用戶可以在地圖上發佈事件。該應用程序的入口點是一個無狀態的Web API服務。爲了在內部代表用戶,我想要一個用戶服務。我應該何時使用Reliable Stateful Actors以及何時可靠的有狀態服務來存儲每個用戶的配置文件數據和發佈的事件?服務結構服務與用戶表示的服務結構參與者
當客戶端在前端創建新用戶時,參與者或服務應在內部創建新用戶。每次用戶登錄時,web api服務都應將所有用戶交互轉發給用戶的內部表示(Actor或Service)。例如。用戶發佈新事件,Web API服務找到用戶並將發佈的事件轉發給他。由於發佈的事件是公開的,我還希望擁有可靠的有狀態事件服務。在用戶存儲發佈的事件之後,用戶服務應將事件轉發給事件服務。
例如:
Client/User --> WebApiService --> UserService/UserActor --> EventService
當用戶希望看到地圖上所有的公共事件應該是這樣的:
Client/User <-- WebApiService <-- EventService
由於該事件具有地理參考,我想根據地理編碼或類似的東西對EventService進行分區。
對於這樣的應用程序,我應該選擇哪種編程模型(actor和/或service)?爲什麼?
這個例子中使用actor的原因是什麼?我閱讀了您的文檔中的當地熱點。但對於地理座標給出的例子。我怎樣才能避免這些熱點?我知道以後我不能更改分區數量,但是以後可以設置新的分區名稱嗎? – CPA
避免熱點的一種方法是使用良好的哈希算法來生成密鑰 – cdaq