Hazelcast 升级 3.x 到 5 - 如何使用 Spring 设置组/集群密码?

Hazelcast upgrade 3.x to 5 - How to set up group / cluster password with Spring?

我正在尝试将 Java Spring 支持的应用程序中的 Hazelcast 集群从 v3 升级到 v5,主要是按照 official migration guide,其中指出术语已更改,组已变为集群。

这里声明v4之前的配置如下:

<hazelcast>
    <group>
        <name>dev</name>
        <password>dev-pass</password>
    </group>
</hazelcast>

现在变身为:

<hazelcast>
    <cluster-name>dev</cluster-name>
</hazelcast>

反过来,我转换为:

<hz:cluster-name>my-cluster-name</hz:cluster-name>

但是,根据 GroupConfig javadoc:

,显然从 v3.11 开始,就没有像群组密码这样的东西了

since 3.11, password check is removed. Passwords are only checked in default LoginModule when Hazelcast security is enabled (Enterprise edition only).

免费版用户是否无法再在其集群上设置密码?

为此目的,安全领域似乎有点过于复杂,据我所知,它们也不适用于社区版用户。

你是对的。安全功能(包括身份验证或套接字拦截器)仅在企业版中可用。

您仍然可以通过以下步骤提高社区版的安全性:

  • 为每个集群使用自定义集群名称;
  • 禁用成员多播discovery/join方法以防止广播集群名称;
  • 使用高级网络并分离客户端和成员套接字。使成员协议套接字仅对加入集群的其他机器可见;
  • 将服务器套接字绑定到单个网络接口(禁用hazelcast.socket.server.bind.any)。它默认绑定到所有接口 (0.0.0.0)。

您可以通过使用以下系统启动服务器来查看 Hazelcast 成员日志中的所有安全建议 属性(在版本 5 或更新版本中可用):-Dhazelcast.security.recommendations