【发布时间】:2017-11-09 17:07:13
【问题描述】:
我正在开发一个有状态的服务,它为我们的客户管理大量产品的库存。每个客户都属于一个租户组,该租户组可能在他自己的分区中拥有此有状态服务的实例。因此 ID 为 10 的租户和 ID 为 11 的租户可能在同一个分区中(假设)。
每个租户都可以访问 Id = 100 的项目的库存(例如)。每次有人想购买此商品时,我都会检查此租户的 Inventory 是否存在,如果不存在,则通知调用应用程序(在本例中为 Reliable Actor)并让他知道。
但是,我注意到我正在存储一个可靠的字典,其中包含项目 ID 的键和库存计数。我注意到即使服务属于不同的分区,它们仍然访问同一个对象。即使这些服务位于不同的分区下,它们仍然具有相同的底层状态,这是真的吗?
如果是这样,直接在 Actor 级别存储此信息是否更有意义?我没有在 Actor 级别看到可靠的集合,因此我构建了一个由 Actor 调用的有状态服务,但在我之前的 Akka 实现中,我会将这个状态存储在 Actor 级别。
我很好奇是否有人实现了类似的东西并且可以阐明这一点。
提前感谢您的回复!
阿努普·马尔瓦迪
【问题讨论】: