我正在运行一个小型系统,它依靠Hazelcast以多播模式进行集群,分布式计算和消息传递(标准配置可在下载中找到)。我有许多作为“核心”Hazelcast实例运行的服务器模块,以及作为Hazelcast“本机客户端”实施的Java Swing应用程序。这一切都运行良好,我现在想要在生产中调试系统,因此需要运行两个独立的集群(dev + prod),这就是我遇到问题的地方。多集群的Java Hazelcast问题
根据documentation所有你需要的是使用单独的组名+密码的两个集群,我觉得这两个集群应该自动排序!这似乎适用于服务器模块,但是当我试图将“客户端” - 实例连接到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的成员。相反,我发现客户已经成为开发环境的成员,即使认证是针对产品进行的!
对于我来说,两个群集的非自然混合对我来说显然是一个巨大的问题,也是一个不争的事实。有没有人知道我是否有任何问题,或者是否有任何配置更改可以解决问题?
绝对如此。说得通。现在我的时间有点短了,但我会在下周初尝试你的建议并恢复。非常感谢你为快速回答Fuad。 – hgus1294 2011-05-20 14:17:43
你是对的。我在我的客户端中使用默认配置“dev”启动成员的代码。我最终将客户切换到超级客户端,因为这对我来说似乎更容易。我的核心模块(成员)需要知道已连接的客户端,并且本地客户端“对于成员来说不太明显”。无论哪种方式,超级客户端实施都能很好地满足我的需求。非常感谢你的帮助。 – hgus1294 2011-05-23 16:58:59
http://docs.hazelcast.org/docs/1.9/manual/html/ch05s03.html酷 – 2017-09-21 18:55:42