当前位置: 首页 > 知识库问答 >
问题:

对顶点进行聚类时。x服务,集群EventBus处理程序是否传播到新加入的节点?

萧奇
2023-03-14

这是我在官方文件或其他任何地方都找不到的东西;我提议的情况基本上是这样的:

  • 我有一个集群的NVert. x实例相同的服务,相同的代码库。
  • 在某个时间点,我注册了一个EventBus消费者C,地址为A集群范围。我订阅了一个完成处理程序,以便在集群的所有节点上完成注册时收到通知。
  • 一切正常,但现在我向集群添加了一个新节点。

我的问题实际上有两个方面:

  • C消费者会被传播到new-joiner吗?也就是说,如果我从new-joiner执行eventBus()。发布(A,...),处理程序会被执行吗?
  • 是否会再次调用完成处理程序(我的猜测是否定的,但以防万一)?

共有1个答案

郭单鹗
2023-03-14

当您将新节点添加到集群时,应用程序将在此节点上再次启动(如果正确理解您描述的情况)。

因此,在新节点上,您将向地址A集群范围注册一个EventBus消费者。

新节点将知道以前在集群上创建的所有注册。以前的节点将知道新的注册。

当您执行eventBus()时。发布(A,…) 从新joiner中,所有包含它的节点都将调用为此地址注册的使用者。

在新joiner上,当注册被持久化时,将调用完成处理程序。在新注册从其他节点可见之前可能会有(非常小的)延迟,因为该过程是异步的。

不会再次调用以前节点上的完成处理程序(因为已经注册了相应的使用者)。

 类似资料:
  • 我有3个虚拟机。它们都有docker 1.12,并且在centos7上运行。所有端口都已打开,vm可以在我启动集群时相互ping Docker信息告诉我: 现在,我尝试将节点(其他VM)加入集群。我使用启动管理器后推荐的命令。 但我得到了: Docker信息告诉我: 集群管理器: 如何调试此问题,或者我是否忘记执行某些重要步骤?服务器之间是否需要ssh访问?谢谢 节点上的日志: 有时警告:

  • 问题内容: 好的,这应该不难,我试图在Elasticsearch集群中运行2个节点,并在尝试启动node-1(作为主节点的node-2已经启动)时遇到异常。对两个实例都使用elasticsearch v 5.0.0 例外: 无法将加入请求发送到主节点,原因是RemoteTransportException无法添加找到的具有相同ID但却是不同节点实例的现有节点的节点] 节点1配置: 节点名称:SAN

  • 假设我有这个应用程序: 我所需的输出如下: 我知道使用反射或其他一些运行时技术检查异常的类型,并在异常捕获子句中放置if语句,就像一次捕获多个异常一样,但我想获得关于上述方法是否可行的反馈。

  • vertx应用程序在两个EC2实例上的Docker容器中运行,并且是集群的。 集群是通过hazelcast aws插件实现的,应用程序的启动如下: 没有以编程方式设置任何与群集相关的内容。 客户端在第一个请求上打开一个套接字并将其用于未来的类似请求。 每个请求将: 通过向事件总线发布消息来启动与服务器的异步请求 在事件总线上注册一个使用者,该事件总线将处理上述结果,并将引用传递给它应该将结果发送到

  • 问题内容: 我已经实现了二进制搜索树的显示。这是代码, 它在jpanel中绘制二叉树。 现在,当我将节点插入树中时,我希望父节点逐渐改变 新节点的颜色,然后最终作为子节点加入。或 要插入的新节点沿着其父节点的路径移动。或类似 的东西这里是一个例子:在此处输入图片说明 我不知道如何使用计时器或类似的方法来完成此任务。 问题答案: 好的,这花了我想要的时间(10个月大的孩子没有 耐心) 在此处输入图片

  • 我一直在试验Vert. x的高可用性功能来测试水平可扩展性和弹性。我有一个基于Hazelcast的几个节点的集群。我正在通过HTTP应用编程接口在任何节点上创建顶点。Verticle在创建时设置了标志。 如果我有< code>n个节点< code>Nn加载了HA-verticles,并且如果我添加了一个额外的节点,则没有从新节点上的< code>Nn节点迁移的vertices,因此负载将会平衡。有