这是我在官方文档中或其他任何地方都找不到的东西;我建议的情景基本上是这样的:
N
Vert.x实例的群集。C
中注册了一个EventBus使用者A
。我订阅了一个完成处理程序,以便在集群的所有节点上完成注册时得到通知。我的问题实际上有两个方面:
C
使用者将被传播到新联接器吗?也就是说,如果我从新联接器中执行eventBus().publish(A, ...)
,该处理程序将被执行吗?当您将新节点添加到群集时,该应用将在该节点上再次启动(如果正确理解了您所描述的情况)。>>
因此,在新节点上,将为集群范围内的地址A
注册一个EventBus使用者。
新节点将知道先前在集群上创建的所有注册。先前的节点将知道新的注册。
当您从新联接器执行eventBus().publish(A, ...)
时,包括它的所有节点都将调用为此地址注册的使用者。
在新加入者上,当持久保留注册时,将调用完成处理程序。由于该过程是异步的,因此在其他节点上看到新注册之前可能会有一个(非常小的)延迟。
先前节点上的完成处理程序将不会再次调用(因为已经发生了相应使用者的注册)。>>