0

我想创建一个使用 servlet 和 JSP 开发的 Web 应用程序集群。现在我需要跨实例缓存数据,因此任何机构都可以帮助我配置此步骤,任何引用或任何指针都会有所帮助。提前致谢

4

1 回答 1

1

是的你可以。我刚才回答了一个类似的问题,我相信它也适用于这种情况。

我的建议是利用 Hazelcast 客户端的 NearCache 功能,这样您就可以将 Hazelcast 节点与 tomcat 分离。

Hazelcast 集群:使用 IMap 配置设置一个 Hazelcast 集群并实现一个 MapStore,它应该负责加载具有缓存合格段的 IMap。还可以使用事件处理程序来处理刷新缓存。

Tomcat Servlet 层:在每个 tomcat 服务器上启动 Hazelcast 客户端并在这些客户端上启用 NearCache。一旦 Hazelcast 客户端启动,NearCache 设置将负责同步其集群中的内容。两个 tomcat 实例都将与缓存内容保持同步。

要记住的事情

  1. HZ Cluster 中的节点数量取决于缓存的大小。建议将最大堆大小保持在 4GB 左右,以避免 GC 开销并根据需要启动尽可能多的节点。
  2. NearCache 将是 tomcat 容器本身的一部分,因此在启动 tomcat 时分配适当的堆大小。
  3. 正确分区地图内容并保持较小的大小以避免 I/O 问题,因为在同步期间集群和 tomcat 容器之间会有数据传输。

让我知道这是否适合您的架构并有任何问题。

NearCache 参考:http:
//docs.hazelcast.org/docs/3.6/manual/html-single/index.html#configuring-client-near-cache

于 2016-07-18T17:19:58.607 回答