我可以在非 spring 的 Web 应用程序中配置 Hazelcast

Can I configure Hazelcast in non spring based web application

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

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

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

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

Tomcat Servlet 层:在每个 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