设计帮助:Akka集群和动态创建的参与者
我的基础设施中有N个节点(即不同的JRE)运行Akka(尚未群集化)设计帮助:Akka集群和动态创建的参与者,akka,akka-cluster,Akka,Akka Cluster,我的基础设施中有N个节点(即不同的JRE)运行Akka(尚未群集化) 节点没有特定的“角色”,但它们只是数据的处理器。这些数据的“处理器”将是参与者。所有类型的非Akka/Actor(其他java代码)(调用者)都可以通过创建要处理的消息来调用特定类型的处理器。最终他们需要返回结果 “processor”参与者非常简单,支持“process(data)”之类的方法,它们是无状态的,它们进行变异并将数据发送到外部系统。这些处理器在执行时间上可能会有所不同,因此它们非常适合作为演员 这些“处理器”有
- 对于上面的第1、2、3、4点,我对
- 但是,对于第5点和第6点,我不确定如何使用Akka集群正确实现这一点,因为我的“节点”彼此都不知道,并且它们都运行相同的代码,以便根据该数据库配置动态创建这些路由器参与者)
- 如何正确处理集群中这些路由器参与者的“名称”?例如,对于“processorType-A”,它可以有无限数量的参与者实例。每个节点在本地都有这些实例可用,但如果它们都在单个节点上终止,我仍然希望它们的“处理器类型”的消息路由到另一个仍然有可用实例的节点上
- 如何在集群中强制/协调“processor”实例限制(即“processorType-B”在全局范围内只能有2个实例)等,而processorType-A可以有更高的数量。它的同类节点需要有某种方式相互检查,以确定是谁在集群中创建了这些实例?我不确定Akka是否有自己的设施来完成这项工作