我正在运行一个小型系统,该系统依赖于 Hazelcast 以多播模式进行集群、分布式计算和消息传递(标准配置可在下载中获得)。我有许多作为“核心”Hazelcast 实例运行的服务器模块和一个作为 Hazelcast“本机客户端”实现的 Java Swing 应用程序。这一切都很好,我现在想在生产中调试系统,因此需要运行两个单独的集群(dev + prod),这就是我遇到问题的地方。
根据文档,您只需为两个集群使用单独的组名+密码,我的印象是两个集群应该自动排序!?这似乎适用于服务器模块,但是当我尝试将“客户端”实例连接到 prod 环境时,我可以从 prod 中的一个服务器模块的日志中看到客户端似乎连接成功:
INFO: [prod] received auth from Connection [/192.168.0.2:55863 -> null] live=true,
client=true, type=JAVA_CLIENT, this group name:prod, auth group name:prod,
successfully authenticated
但是,客户从未以 prod 成员的身份出现。相反,我发现客户端已成为开发环境的成员,即使针对 prod 进行了身份验证!
两个集群的非自愿混合显然对我和一个表演者来说是一个巨大的问题。有谁知道我做错了什么,或者我可以做任何配置更改来解决问题?