Java 微服务中的会话管理
我们有以下设置Java 微服务中的会话管理,java,session,cookies,weblogic,microservices,Java,Session,Cookies,Weblogic,Microservices,我们有以下设置 STM(Stingrey流量管理器)进行负载平衡+会话粘性 Weblogic“群集” 由第三方工具处理的身份验证 因此,我不必担心与水平扩展/运行应用程序的多个实例有关的会话。STM/Weblogic群集确保后续请求到达同一托管服务器 我们目前拥有的是一个单片应用程序,我们正试图转向微服务。此外,我们不希望脱离当前的基础架构(即STM/Weblogic cluster/Auth tool)。我们的计划是: 将请求路由到其他微服务的网关战 每个功能子域的N x微服务(WAR) 只有
请提供更好的选择和资源/链接。谢谢。让我谈谈我的看法 首先,如果您可以使应用程序保持无状态,请务必这样做:) 它将是性能和可扩展性方面的最佳解决方案 现在,如果不可能,那么您应该维护一些分布式会话管理层 负责身份验证的网关可以生成一些唯一的会话标识符,这些标识符稍后可以用作密钥。 这个密钥可以传播到所有的微服务,并成为API或其他东西的一部分 为了访问会话,微服务可以通过键“获取”值并使用它 在实现方面:我将看一看NoSQL解决方案。其中一些可以满足您的需要:
您使用的是分布式缓存吗?这就是我目前管理类似场景的方式。身份验证令牌进入缓存-当然,对于任何需要进入缓存的微服务都知道的缓存条目,您需要唯一的ID。谢谢@Nio。我不使用分布式缓存,但可以考虑。如何生成身份验证令牌?您需要安装OAuth服务器吗?另外,您使用的分布式缓存是什么?如果你有任何链接,请分享给我参考。Fahim,我使用memcached和Redis进行缓存。如果你不确定是哪个,我会选择Redis。管理身份验证令牌的方法有很多种。OAuth是一种标准化的方式,虽然它有一点学习曲线,让你的头脑围绕着赠款流,但它是一个值得在你的简历上。有很多用Java实现OAuth服务器的示例。你能分享一些链接以供参考吗?我已经解释了这个机制,我想,在任何情况下,快速谷歌搜索都会揭示这一点:这是: