我可以在非基于弹簧的Web应用程序中配置Hazelcast吗?



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

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

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

榛树集群:使用 IMap 配置设置一个 Hazelcast 集群,并实现一个 MapStore,该商店应负责将 IMap 与缓存符合条件的段一起加载。还可以使用事件处理程序来刷新缓存。

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

要记住的事情

  1. HZ 群集中的节点数取决于缓存的大小。建议将最大堆大小保持在 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

最新更新