我们使用基于DNS的负载均衡器在2个地理位置运行4个tomcat服务器实例。我们提供一些出口服务,这些任务需要大量时间才能完成。因此,用户通常会向我们的某个服务器提交请求,并负责整个处理。
当用户稍后请求随机选择的实例的进度信息时,会出现问题。
我正考虑在所有实例中共享进度信息,例如使用Redis共享Spring身份验证。我尝试使用带有aop代理的spring会话bean来共享进度信息,但这似乎是一个坏主意。我做了一些研究和调试,显示bean存储在Redis中,可以被所有实例访问,但状态不再更新。我相信这是因为在原始请求返回给调用者之后,线程无法更新会话信息。
我能想到的另一个解决方案是使用我们的MySQL数据库来存储这些信息,但我担心因不断更新进度信息而导致的巨大过载。
有什么想法可以解决我的问题吗?
提前致谢,
米甲