我是一名Sys Admin,负责将托管提供商提供的现有基础架构迁移到AWS。
我们的堆栈是Java Spring MVC 2.0(我知道,旧版本),Tomcat 6.0.30(同上版本),Java 7,memcached。
我不是开发人员,所以我将尽我所能尽可能地对此进行解释。
我们在AWS中重新创建了基础架构,并且出现了一个意料之外的问题。看来,使用Spring 2.0时,当我们尝试以用户身份登录时,会在该用户遵循的网页结构的第二页上丢失会话。 (用户看到的初始页面是启动页面,据我所知,不需要读取任何会话值。)
奇怪的是,当看起来一切正常时,并未发生此问题,但我们试图提高基础架构的可伸缩性,因此将存储Tomcat实例的EC2实例从m4.large更改为m5.large。并更改了我们的自动缩放组,这似乎破坏了应用程序。 (我试图将事情改回无济于事)
我查看了tomcat日志,即使将日志级别转换为在log4j中进行调试,我也没有发现有用的信息来查看正在发生的情况。
我还尝试将ec2实例减少到1个,以消除memcached没错,并且问题仅发生在1个ec2实例上(这意味着我们的用户不会在不同的ec2实例之间跳动)
我们如何解决此问题?我可能会尝试让开发人员逐步完成代码,但是我真的不认为该代码现在是一个问题,因为它以前曾经工作过。
值得注意的一件事是,过去我们遇到了一个奇怪的问题:如果我们缺少第2页试图读取的favicon.ico,而该页面不存在,则好像Java安全处理程序看到了这一点作为一个新请求,并会创建一个新会话,从而使旧会话无效,从而导致该问题的行为与此问题相同。话虽这么说,但这次并没有丢失该图标,并且会话似乎没有发生变化,因此这似乎是一个不同的问题。
任何想法将不胜感激!希望这并不太难。
干杯!