Vertx Hazelcast:集群问题

Vertx Hazelcast: Cluster Problems

我正在使用 Vertx 和 HazelCast 来分发关于网络的 Verticles。

不,我有问题,我的同事也使用带 HazelCastManager 的集群 Verticle。 是否有可能避免我们的 Verticles 看到彼此以防止副作用?

如果您使用多播(默认配置)进行发现,您可以重新定义组名和密码。除此之外,您可以选择 vert.x 内给定 Hazelcast 版本支持的任何其他发现选项: http://docs.hazelcast.org/docs/3.6/manual/html-single/index.html#discovering-cluster-members

您可以在 cluster.xml 文件中定义 Hazelcast 集群组。 这是与之相关的手册部分: http://docs.hazelcast.org/docs/3.6/manual/html-single/index.html#creating-cluster-groups

老问题,但仍然有效,这里是简单的答案:

如果你想将你的 vertx 系统限制在单个服务器上,即不让事件总线泄漏到你的本地网络中,最简单的做法是在你的类路径上创建 Hazelcast 的 cluster.xml 的本地副本,即 copy/edit 顶点源(参见 git):

vertx-hazelcast/src/main/resources/default-cluster.xml

到你的 vertx 项目中的一个新文件中

src/main/resources/cluster.xml

所需的更改是禁用该功能的 <multicast> 节:

<hazelcast ...>
   ...
  <network>
      ...
    <join>
          ...
      <multicast enabled="false">
             ...
      </multicast>
      <tcp-ip enabled="true">
          <interface>127.0.0.1</interface>
      </tcp-ip>