AKKA.Net 集群和共享资源

AKKA.Net Clustering and Shared Resource

嘿,我正在 AKKA.Net 上阅读和观看一些视频,我很喜欢我所看到的。我想在现有的应用程序中尝试 AKKA.net,但我需要帮助澄清一些事情

场景
我想创建一个 Akka.net 集群:

问题

  1. 如何确保门票具有唯一的计数器值?我已经习惯了锁的实现,但是演员的实现是什么?
  2. 如果某个节点与集群断开连接是否引发了一个事件,我可以捕捉到该事件以进行必要的调整?
  1. 如何确保工单具有唯一的计数器值?

如果您无法访问 actor 系统来请求 "counter" 或标识符,则使用类似 GUID 的东西来唯一标识资源 (Guid.NewGuid())。如果您需要一个全局整数计数器,那么您必须实现一个跟踪该计数器并按需分配新值的参与者。

  1. 如果某个节点与集群断开连接是否引发了一个事件,我可以捕捉到该事件以进行必要的调整?

是的,您可以侦听集群八卦事件并确定节点何时断开连接并确定它是否不再可用:

http://getakka.net/docs/clustering/cluster-extension#working-with-cluster-gossip