您是否在使用Akka集群的分布式系统中的每个主机上运行单独的Actor系统?



这是我基于Stackoverflow阅读的假设。

您有多个系统组件:

    数据库
  1. 认证
  2. Web

每个系统组件在微服务模式中描述的单独主机上运行。另一方面,要将这些主机粘合在一起,您需要:

  • 运行一个Actor系统,作为每个主机上的一个种子节点
  • 描述每个主机的角色,以便您可以将消息定向到正确的组件

以下是我的问题:

  1. 可以在每个主机上运行Actor系统并且仍然连接到集群吗?
  2. 如何根据角色直接发送消息?假设我想从web组件将数据库消息定向到数据库组件?

仔细研究一下再找出答案。

1)是的,如果它在物理上位于另一个系统上,则需要运行一个单独的参与者系统。这样您就可以连接种子节点。否则,当actor死亡时,没有actor系统可以重新启动它。

2)角色不用于指示消息。它只是用于向集群中的其他节点表明具有标记的节点已加入集群。

为了向不同的节点发送消息,您需要使用卡斯特路由器

最新更新