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

这是我基于Stackoverflow读取的假设.

您有多个系统组件:

>数据库
>认证
>网络

如微服务模式中所述,每个系统组件在单独的主机上运行.在其他将这些主机粘合在一起时,您需要:

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

这是我的问题:

>你能不在每台主机上运行一个Actor系统,仍然链接到集群?
>如何根据角色定向消息?假设我想从Web组件将数据库消息定向到数据库组件?

最佳答案 经过一番研究后找出答案.

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

2)角色不用于指导消息.它仅用于向集群中的其他节点指示具有此标记的节点已加入集群.

要将消息发送到不同的节点,您需要使用Custer路由器

点赞