假设我有2个Hazelcast节点,它们使用IMap
作为缓存。
如果我让node1用密钥K1和值V1将数据存储到IMap
中,而在一毫秒后,node2尝试从与密钥K1相同的IMap
中获取值,node2将等待直到K1同步到node2?
如果node2不等待K1,如何避免node2重新创建V1并使用密钥K1将其放入IMap
中?我负担不起分布式锁,因为它会降低整个系统的速度。
答案 0 :(得分:0)
节点之间没有同步,也没有重新创建条目以获取它,因为数据以分布形式存储在整个集群中。例如,当K1V1存储在IMap中时,它将存储在一个节点中,而不是全部复制。在执行imap.get(K1)时,请求直接转到所有者成员。