如何防止Hazelcast将数据复制到其他节点?

时间:2019-06-16 00:54:03

标签: java networking hazelcast

我在Hazecast 3.11中尝试了以下内容

1。)设置节点A,该节点用对象填充IQueue(分布式hazelcast队列):

HazelcastInstance hazelcastInstance = Hazelcast.newHazelcastInstance();
IQuery<String> configs = hazelcastInstance.getQueue("configs");
configs.add("foo");

2。)将节点A与第二个节点B联接在一起,并访问共享队列,该共享队列从节点A返回存储的值

HazelcastInstance hazelcastInstance = Hazelcast.newHazelcastInstance();
IQuery<String> configs = hazelcastInstance.getQueue("configs");
System.out.println(configs.poll());

3。) 尽管我确实将backup-count和async-backup-count设置为零,但是hazelcast似乎将内容从节点1复制到节点2。为什么?

我通过xml和程序化配置进行了尝试:

        com.hazelcast.config.Config cfg = new com.hazelcast.config.Config();
        NetworkConfig network = cfg.getNetworkConfig();
        network.setPort(5701).setPortAutoIncrement(true).setPortCount(20);
        JoinConfig join = network.getJoin();
        join.getMulticastConfig().setEnabled(false);
        join.getTcpIpConfig().addMember("172.105.65.xxx").setRequiredMember(null).setEnabled(true);
        cfg.getQueueConfig("configs").setBackupCount(0).setAsyncBackupCount(0);

XML:

<?xml version="1.0" encoding="UTF-8"?>
<hazelcast xsi:schemaLocation=
  "http://www.hazelcast.com/schema/config hazelcast-config-3.7.xsd"
  xmlns="http://www.hazelcast.com/schema/config"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <network>
        <port auto-increment="true" port-count="20">5701</port>
        <join>
            <multicast enabled="false">
        </multicast>
        <tcp-ip enabled="true">
            <member>172.105.65.xxx</member> 
        </tcp-ip>
        </join>
    </network>


    <queue name="configs">
        <statistics-enabled>false</statistics-enabled>
        <max-size>0</max-size>
        <backup-count>0</backup-count>
        <async-backup-count>0</async-backup-count>
        <empty-queue-ttl>-1</empty-queue-ttl>
    </queue>

</hazelcast>

0 个答案:

没有答案