如何不同步 Hazelcast 中服务之间的所有地图
How to not synchronize all maps between services in Hazelcast
我的集群设置中有两个不同的服务(我们称它们为 Middleware 和 Gateway)以共享相同的缓存。中间件实例共享两个 Hazelcast 映射 Session 和 Chat。但在网关应用程序中,我不需要聊天图,只需要会话图。
据我通过 Hazelcast 文档调查,无法禁用某些地图或类型以完全排除在 serialization\deserialization 进程之外。
有什么想法吗?
所有 Hazelcast 地图分布在所有集群成员中。因此,具有“chat”映射的一部分的任何进程也具有“session”映射的一部分。
目的是让数据均匀传播。
在双节点集群中,如果节点 A 有一半的“chat”映射和所有“session”,而节点 B 只有如果有“chat”的另一半,它们会有不同的负载,因此不会提供相同的性能。
所以你不能直接这样做。
有一个(商业)安全选项可以限制某些应用程序访问所选数据,因此您可以阻止网关应用程序访问“chat”地图。 “chat”地图仍然存在,分布在节点上。
如果你真的想让一个地图成为一个节点,另一个地图在两个节点上,你需要两个独立的集群,每个集群都有一个地图。
我的集群设置中有两个不同的服务(我们称它们为 Middleware 和 Gateway)以共享相同的缓存。中间件实例共享两个 Hazelcast 映射 Session 和 Chat。但在网关应用程序中,我不需要聊天图,只需要会话图。 据我通过 Hazelcast 文档调查,无法禁用某些地图或类型以完全排除在 serialization\deserialization 进程之外。 有什么想法吗?
所有 Hazelcast 地图分布在所有集群成员中。因此,具有“chat”映射的一部分的任何进程也具有“session”映射的一部分。
目的是让数据均匀传播。 在双节点集群中,如果节点 A 有一半的“chat”映射和所有“session”,而节点 B 只有如果有“chat”的另一半,它们会有不同的负载,因此不会提供相同的性能。
所以你不能直接这样做。
有一个(商业)安全选项可以限制某些应用程序访问所选数据,因此您可以阻止网关应用程序访问“chat”地图。 “chat”地图仍然存在,分布在节点上。
如果你真的想让一个地图成为一个节点,另一个地图在两个节点上,你需要两个独立的集群,每个集群都有一个地图。