在我的应用程序中,用户可以在地图上发布事件。该应用程序的入口点是一个无状态的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