我可以将Azure Service Fabric可靠的有状态演员用于地理映射问题吗?假设我有一个代表一个事件的演员。此事件由用户创建,用户在地图上设置此类事件。很多用户可以创建很多事件。表示actor的每个事件存储地理坐标和另一个状态。这将导致我可以通过地图分发数百万个事件。
所以现在我想要一个基于地图区域或基于坐标矩形表示事件角色的分组角色。分组actor存储此地图区域中所有事件参与者的列表。鉴于性能问题,是否有可能并建议动态创建这样的分组actor?该区域将由用户输入确定。
答案 0 :(得分:1)
这是可能的,但它可能不会表现得很好,因为分组演员必须向每个演员提出针对其地理坐标的个别请求,而这些请求并不便宜,因为它们涉及数据序列化和网络请求。
在Reliable Dictionary内使用Reliable Service可能更容易,效果更好。每个坐标和任何相关数据可以是字典中的条目。您可以枚举,执行LINQ查询,并且通常像使用普通字典一样进行编程。
对于数百万个项目,您可能希望partition服务将其分布在多个节点上。您可以完全控制跨分区的密钥分发,因此您可以通过散列地理坐标或使用四键来执行区域划分等操作。