Java 如何在Hazelcast中不同步服务之间的所有映射

Java 如何在Hazelcast中不同步服务之间的所有映射,java,serialization,hazelcast,Java,Serialization,Hazelcast,在集群设置中,我有两个不同的服务(我们称它们为中间件和网关),用于共享相同的缓存。中间件实例共享两个Hazelcast映射会话和聊天。但在网关应用程序中,我不需要聊天映射,只需要会话映射。 就我通过Hazelcast文档所调查的情况而言,没有办法禁用某些映射或类型以完全从序列化\反序列化过程中排除。 有什么想法吗?所有Hazelcast地图都分布在所有集群成员中。因此,任何进程都有一部分“聊天”映射,也有一部分“会话”映射 其目的是为了实现数据的均匀传播。 在双节点集群中,如果节点a有一半的“聊

在集群设置中,我有两个不同的服务(我们称它们为中间件网关),用于共享相同的缓存。中间件实例共享两个Hazelcast映射会话和聊天。但在网关应用程序中,我不需要聊天映射,只需要会话映射。 就我通过Hazelcast文档所调查的情况而言,没有办法禁用某些映射或类型以完全从序列化\反序列化过程中排除。
有什么想法吗?

所有Hazelcast地图都分布在所有集群成员中。因此,任何进程都有一部分“聊天”映射,也有一部分“会话”映射

其目的是为了实现数据的均匀传播。 在双节点集群中,如果节点a有一半的“聊天”映射和所有的“会话”,而节点B只有另一半的“聊天”,则它们的负载会不同,因此不会提供相同的性能

所以你不能直接这么做

有一个(商业)安全选项可以限制某些应用程序访问选定的数据,因此您可以阻止网关应用程序访问“聊天”地图。“聊天”地图仍然存在,分布在各个节点上


如果您真的希望一个映射成为一个节点,另一个映射位于两个节点上,则需要两个单独的集群,每个集群都有一个映射。

感谢您的快速响应。基于这些信息,我决定从网关中删除Hazelcast,并用对中间件的任何实例的REST调用替换它,因为它们都共享相同的缓存。在网关上同时进行地图会话和聊天似乎开销太大