2

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

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

  • 3 个节点/机器

  • 它们之间的共享资源(计数器)。

  • 可从所有节点读取的共享资源统计信息

    每当一个节点兑现一张票时,它将获取计数器的值并将其加一,然后更新计数器。两张票不应具有相同的计数器值。共享的统计信息用于保存票证兑现的价值,因此应将其部署到集群中的所有节点。

问题

  1. 如何确保票据具有唯一的计数器值?我习惯了锁的暗示,但演员的暗示是什么?
  2. 如果一个节点与集群断开连接,我可以捕捉到一个事件以进行必要的调整吗?
4

1 回答 1

1
  1. 如何确保票据具有唯一的计数器值?

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

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

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

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

于 2016-01-10T02:06:30.350 回答