【问题标题】:Restrict members in Hazelcast cluster限制 Hazelcast 集群中的成员
【发布时间】:2020-07-03 19:21:07
【问题描述】:

我正在开发一个使用 Hazelcast 作为缓存的 Spring Boot 项目。我已启用 tcp 作为连接方法,并且我还提到了一些成员。成员可以加入。但问题是除了成员之外,其他节点也能够加入。谁能告诉我如何限制它?

这是我的配置,

@Bean
    public Config hazelcastConfig() {
        Config config = new Config()
                .setClusterName("myCluster");
        List<String> members = new ArrayList<>();
        members.add("192.168.99.1:5523");
        members.add("192.168.99.2:5542");
        config.getNetworkConfig().getJoin()
                .setMulticastConfig(new MulticastConfig().setEnabled(false))
                .setTcpIpConfig(new TcpIpConfig().setEnabled(true).setMembers(members));
        config.getNetworkConfig().setPort(5523);
        return config;
    }

【问题讨论】:

  • 看起来像 this 的副本

标签: hazelcast


【解决方案1】:

Hazelcast IMDG(社区版)中的主要方法是配置不同的集群名称。

您还可以查看具有一组安全功能(JAAS 身份验证、TLS、对称加密……)的 Hazelcast Enterprise。

这些答案中的更多详细信息:

【讨论】:

  • 谢谢你。但是是否有任何功能仅限于提及的成员?如您所见,我只给了两个成员。那么它应该只加入这两个成员对吗?还是我在这里做错了什么?。
  • 我没有想到这样的限制(现有功能)。关于“只有那两个”的假设是不正确的。加入集群的成员首先向预定义的成员发送“谁是主”问题。在收到主地址后,它会通过加入请求连接到它。如果加入操作成功,则主节点向所有集群成员发送更新的成员列表。因此,配置中定义的成员地址仅表示“已知属于集群的地址”。
  • 您可以在集群名称中使用成员地址。例如,按字母顺序对所有地址进行排序,并将它们连接到 ClusterName 配置字段中。如果您网络上的所有成员都遵循此方案(即您的网络中没有恶意成员),那么他们只能连接到自己的集群。为了安全起见,您还应该禁用端口自动增量并在网络/接口配置中明确设置成员 IP 地址。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多