在多个应用程序之间共享 hazelcast 缓存并使用 write behind 和 read through
Sharing hazelcast cache between multiple application and using write behind and read through
问题 - 我可以在多个应用程序之间共享同一个 hazelcast 集群(缓存),同时使用地图存储和地图加载器使用后写和读取功能
详情
- 我的企业环境有多个应用程序,想使用单个缓存
- 我有多个应用程序(微服务),即。 APP_A、APP_B和APP_C相互独立。
- 我是运行每个应用实例一次,每个节点都会是集群的成员节点
- APP_A 有 MAP_A,APP_B 有 MAP_B,APP_C 有 MAP_C。每个应用程序都有各自地图的 MapStore。
- 如果客户端发送命令 instance.getMap("MAP_A").put("Key","Value") 。这有一些不一致的行为。有时我看到数据在数据库中是持久的,但有时不是。
注意 - 我想在所有应用程序中使用相同的 hazelcast 实例,以便应用程序 A 访问应用程序 B 的数据,反之亦然。
我假设这是由于处理请求的节点造成的。如果请求由节点 A 处理,那么它将正常工作,但如果请求由节点 B 或 C 处理,则会失败。我假设这是由于 Mapstore_A 实现不适用于节点 B 和 C。
我是不是做错了什么?我们可以做些什么来解决这个问题?
提前致谢。
Hazelcast 是一个集群解决方案。如果集群中有多个节点,当数据重新平衡时,每个节点中的数据可能会从一个地方移动到另一个地方。
因此,地图存储和地图加载器操作可以从任何节点进行。
因此集群中的所有节点都需要具有相同的连接数据库的能力。
问题 - 我可以在多个应用程序之间共享同一个 hazelcast 集群(缓存),同时使用地图存储和地图加载器使用后写和读取功能
详情
- 我的企业环境有多个应用程序,想使用单个缓存
- 我有多个应用程序(微服务),即。 APP_A、APP_B和APP_C相互独立。
- 我是运行每个应用实例一次,每个节点都会是集群的成员节点
- APP_A 有 MAP_A,APP_B 有 MAP_B,APP_C 有 MAP_C。每个应用程序都有各自地图的 MapStore。
- 如果客户端发送命令 instance.getMap("MAP_A").put("Key","Value") 。这有一些不一致的行为。有时我看到数据在数据库中是持久的,但有时不是。
注意 - 我想在所有应用程序中使用相同的 hazelcast 实例,以便应用程序 A 访问应用程序 B 的数据,反之亦然。
我假设这是由于处理请求的节点造成的。如果请求由节点 A 处理,那么它将正常工作,但如果请求由节点 B 或 C 处理,则会失败。我假设这是由于 Mapstore_A 实现不适用于节点 B 和 C。
我是不是做错了什么?我们可以做些什么来解决这个问题?
提前致谢。
Hazelcast 是一个集群解决方案。如果集群中有多个节点,当数据重新平衡时,每个节点中的数据可能会从一个地方移动到另一个地方。
因此,地图存储和地图加载器操作可以从任何节点进行。
因此集群中的所有节点都需要具有相同的连接数据库的能力。