gpt4 book ai didi

session - 针对异构不同应用的 Tomcat 集群 session 复制

转载 作者:行者123 更新时间:2023-11-28 23:38:37 25 4
gpt4 key购买 nike

所以我可能在脑海中知道这个问题的答案,但我似乎没有准确指出它,当我想到它时我会更加困惑。

我正在对网络应用程序架构进行一些研究,以实现高可扩展性/可维护性(以及所有其他很酷的必备项)。我正在尝试研究一种架构,其中我们有一个包含 3 个节点的集群。

节点 1.[高安全性,中等 RAM,低磁盘空间] 具有配置服务、身份验证服务(我称之为 admin0)等管理应用程序

节点 2. [中等安全性,低内存,高磁盘空间] 具有面向内容的应用程序,例如媒体服务(如文件托管)、配置文件等。只是面向存储的节点,我称之为 misc0。

节点 3. [低安全性、高 RAM、中等磁盘空间] 具有业务应用程序,即 Web 应用程序的核心应用程序。

因此,这可以分离关注点,如果我们想要扩展,我们可以分别扩展每个节点。另外,我认为节点 3 将是负载最大的节点。

现在,问题是,如果用户在 node1(admin0)/authenticationService 上获得身份验证,我希望为集群中的所有应用程序激活他的 session ,这样他们就不必再查询 authenticationService,他们应该只看启动他们本地的 HttpSession。

现在,带有 Delta(或备份)管理器的 Tomcat 集群提供了这个功能,但它们只与安装了这个应用程序的节点共享 session 。虽然 delta manager 会共享 session ,即使应用程序没有安装在对等端,但我不知道如何使用该 session ?我知道您可以将 cookie 的路径设置为“/”,这是我的解决方案吗?

我是不是在某个地方犯了架构错误?我的意思是我最好使用单点登录解决方案还是?

最佳答案

即使使用单点登录 (SSO),每个 Web 应用程序都会获得不同的 HttpSession,因此您不能只是“查找其本地 HttpSession”。如果您使用 Tomcat 的 SSO,我不清楚它是否适用于整个集群。

如果您将 cookie 路径设置为“/”,您只会造成混淆,因为您需要为不同应用程序的不同 session ID 使用不同的 cookie。

关于session - 针对异构不同应用的 Tomcat 集群 session 复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22308798/

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