我的应用程序中有一个发送报告页面。我的客户总是有兴趣了解货物交付的最新状态。
我需要添加“自动刷新”功能,以便客户无需手动刷新即可获得最新状态。这个要求的挑战是数百个请求将开始命中服务器,而只有非常小的%将在交付状态中有一些更新。 在我的应用程序服务器上,我有兴趣在一分钟内与数百个[将来它可以增长]无关紧要的点击。
解决方案试图满足要求: 我使用了websocket,它在我的非集群环境中都很好,但是在集群中由于Wildfly集群架构挑战而开始失败[AJP将无法升级]
解决方案我打算实施: 我可以将文件中的最新传递状态推送到我的网络服务器,并让浏览器的请求使用静态文件。在这种情况下,我的应用程序服务器不需要处理所有那些不相关的请求。
问题: 还有其他更好的解决方案可以解决这个问题吗?
其他要点:
我使用ehcache来处理应用程序中的缓存。服务器节点之间存在这些缓存对象的复制。所以这个我可以使用的缓存需要在服务器节点之间共享一些数据。
这是一个JSF-Spring集成应用程序。
我使用了Richface的a4j:websocket的推送组件,这在wildfly集群中不是一个合适的解决方案。