【发布时间】:2016-09-19 15:27:43
【问题描述】:
我目前为系统中的每个用户都有一个 ReliableActor。这个演员被恰当地命名为用户,为了这个问题,有一个位置属性。按位置查询用户的推荐方法是什么?
我目前的想法是创建一个包含 ReliableDictionary 的 ReliableService。字典中的数据将是用户数据的投影。如果我这样做了,那么我需要:
- 查询字典。在 GA 之后,这似乎是 recommended approach。
- 保持字典同步。也许通过Pub/Sub 或IActorEvents。
另一种选择是在 Service Fabric 之外拥有一个持久存储,例如数据库。这感觉不对,因为它违背了使用 Service Fabric 的一些理想。如果我这样做了,我会假设与上述类似,但使用的是无状态服务?
非常感谢。
【问题讨论】:
-
如果你需要数据是最新的,你可以考虑一个可靠的字典——如果你只需要一个快照来进行历史查询,你可以看看像 CQRS 这样的策略(它使用数据库,但它不是事实的来源,它只是定期更新——基本上是为了允许历史查询)。