Hazelcast:我可以将 hazelcast 客户端配置为仅连接到集群的单个精简版成员吗?
Hazelcast: can I configure a hazelcast client to connect only to a single lite member of the cluster?
我有一个由 2 个正式成员和一个 Lite 成员组成的 Hazelcast 集群,启用了多播。我想将多个 Hazelcast (.NET) 客户端专门连接到 Hazelcast Lite 成员。问题是,即使我在客户端配置了这个 Lite 成员的地址和端口,我仍然看到从客户端到其他 2 个 Hazelcast 完整集群成员的连接:
<hazelcast-client>
<network>
<cluster-members>
<address>10.28.0.106:5701</address>
</cluster-members>
</network>
...
</hazelcast-client>
这能做到吗?
想法是让 Lite 成员存储大量只读数据(将在 Lite 成员上启用近客户端)并且 运行 与客户端在同一台机器上所以访问速度会比客户端->集群连接快很多。
我们忽略这个Lite成员在这里成为单点故障的事实,整个系统不会受到影响。
我认为您可以使用 GroupConfig
来达到这个目的。
来自 JavaDoc:
With groups it is possible to create multiple clusters where each cluster has its own group and doesn't interfere with other clusters.
您应该为客户声明群组配置(2 次 - 对于 Lite 会员和正式会员)以及相应的 Lite 和正式会员。
<group>
<name>liteGroup</name>
<password>pswd1</password>
<group>
<group>
<name>fullGroup</name>
<password>pswd2</password>
<group>
如有任何问题,请随时与我联系。
如果在客户端设置智能路由为false,在客户端只配置lite member,客户端只会连接到lite member。
参见 http://docs.hazelcast.org/docs/3.6/manual/html-single/index.html#setting-smart-routing
但是当那个精简版成员死亡时,客户端将连接到其他节点之一。如果您希望您的客户端在与精简版成员断开连接时关闭,您可以在客户端使用生命周期监听器。当你看到 LifecycleEvent.LifecycleState.CLIENT_DISCONNECTED 事件调用 hazelcastClient.shutdown().
我有一个由 2 个正式成员和一个 Lite 成员组成的 Hazelcast 集群,启用了多播。我想将多个 Hazelcast (.NET) 客户端专门连接到 Hazelcast Lite 成员。问题是,即使我在客户端配置了这个 Lite 成员的地址和端口,我仍然看到从客户端到其他 2 个 Hazelcast 完整集群成员的连接:
<hazelcast-client>
<network>
<cluster-members>
<address>10.28.0.106:5701</address>
</cluster-members>
</network>
...
</hazelcast-client>
这能做到吗?
想法是让 Lite 成员存储大量只读数据(将在 Lite 成员上启用近客户端)并且 运行 与客户端在同一台机器上所以访问速度会比客户端->集群连接快很多。
我们忽略这个Lite成员在这里成为单点故障的事实,整个系统不会受到影响。
我认为您可以使用 GroupConfig
来达到这个目的。
来自 JavaDoc:
With groups it is possible to create multiple clusters where each cluster has its own group and doesn't interfere with other clusters.
您应该为客户声明群组配置(2 次 - 对于 Lite 会员和正式会员)以及相应的 Lite 和正式会员。
<group>
<name>liteGroup</name>
<password>pswd1</password>
<group>
<group>
<name>fullGroup</name>
<password>pswd2</password>
<group>
如有任何问题,请随时与我联系。
如果在客户端设置智能路由为false,在客户端只配置lite member,客户端只会连接到lite member。 参见 http://docs.hazelcast.org/docs/3.6/manual/html-single/index.html#setting-smart-routing
但是当那个精简版成员死亡时,客户端将连接到其他节点之一。如果您希望您的客户端在与精简版成员断开连接时关闭,您可以在客户端使用生命周期监听器。当你看到 LifecycleEvent.LifecycleState.CLIENT_DISCONNECTED 事件调用 hazelcastClient.shutdown().