【发布时间】:2017-11-17 15:54:24
【问题描述】:
如果我在集群 node1 和 node2 中有两个 hazelcast 节点
如果我将 <key1,value1> 插入 imap,并假设 node1 拥有 <key1,value1>(primary),则当 node1 存储数据时,它会将 <key1, value1> 转换为字节并保存。
1)
这些数据如何传输到 node2。当<key1, value1>作为字节传输到node2时,node2是直接保存这些字节还是先反序列化成各自的类型再序列化回字节保存?
2) 如果新字段添加到 value1 类型并且 node1 重新启动。当数据从node2备份到node1时,value1的字节是否会传输到node1
a) 将其反序列化为 node1 中的 value1 类型,该类型由新字段组成,然后序列化回字节并存储在 node1 中或
b) value1 的 node2 中的字节传输到 node1 直接存储而无需任何转换,并且这些字节不包含添加到 value1 类型的字段?
【问题讨论】:
-
1) 你的意思是 Hazelcast 如何在其他节点上创建备份?否则 Hazelcast 没有理由将数据传输到集群中的其他成员,除非您有一个也嵌入了 HC 的应用程序,显式调用读取操作。
-
2) 不确定您的问题是什么。每次必须在成员或成员-客户之间传输时,数据都会被序列化和反序列化。向条目添加新字段和重新启动节点之间没有任何联系。查看序列化和其他相关文档:docs.hazelcast.org/docs/3.9/manual/html-single/…docs.hazelcast.org/docs/3.9/manual/html-single/…
标签: hazelcast