我正在使用Lagom的persitent实体,并阅读Cassandra支持实现,保存读取端查询的状态。所以试图理解,持久性实体也是演员吗?意味着一次只能处理一个事件/命令?事件也是“持久实体”处理的消息吗?我找不到有关以下内容的文档:
持久性实体也是演员吗?这意味着一次只能处理一个事件/命令?
我不会这样问这个问题; actor确实执行同步消息处理,但某些事情执行同步消息处理并不意味着它是一个actor。
现在语义已经不在了,我们可以解决这个问题... PersistentEntity
s在技术上是not actors ...但是,PersistentEntityRegistry
s will create是一个PersistentActor
。
- 每个实体一旦创建就会持久存储在内存中吗?
根据Akka持久性快照(请参阅here)机制,实体将保留在您使用的任何商店中。
- 如果我们通过一个模型,其中演员在一些超时后被删除...演员是否必须再次读取所有事件来处理另一个请求?
同样,快照将有很大帮助。
- 如果通过命令/查询处理向购物车添加商品,如何确保相同的商品不会两次添加到购物车中?
您可以阅读更多关于Akka actor here的交付语义。