gpt4 book ai didi

java - tomcat集群环境下获取servlet上下文变量数据

转载 作者:行者123 更新时间:2023-11-28 22:56:48 24 4
gpt4 key购买 nike

目前我正在开发模块以在我的应用程序中显示在线用户列表。我正在使用 cometd 流媒体技术。当用户登录时,我将数据放入 map 中,然后将数据发送到消息队列中。现在消息队列存储在 servlet 上下文中。

现在我面临的问题是它可以在本地环境中工作,但不能在生产环境中工作,因为在生产环境中我已经设置了 tomcat 集群。因此 tomcat 1 的 servlet 上下文中的数据集在 tomcat 2 中不可访问。

我已经开发了模块,但没有找到解决上述问题的方法。我google了一下,发现tomcat不支持context replication。

我怀疑在 tomcat 集群 Web 应用程序中将创建多少个 JVM 实例。例如我有两个 tomcat 集群。

最佳答案

我不会使用 servlet 上下文来存储集群数据。常见的模式是使用数据库存储必须在不同服务器之间共享的数据。

对于您的用例,不需要在不同运行之间保留值,因此数据库不一定是一个很好的解决方案,即使它很容易设置。恕我直言,您需要的只是共享数据缓存或更好的内存数据网格。 hazelcast应该很容易满足您的要求。如果我对它们的理解正确,那么您需要的是一个分布式映射,其中串联了 node_id、session_id 作为键(或者可能只是 session_id),以及一个用户对象作为值。

关于java - tomcat集群环境下获取servlet上下文变量数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25093693/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com