【发布时间】:2018-10-19 05:23:30
【问题描述】:
我正在做一个项目,我有两个微服务,一个用于身份验证和授权,另一个用于进行一些操作。我想在两个微服务之间共享同一个会话。目前,我将会话存储在 Redis 中,然后在两个微服务中进行管理。
这是一种有效的方法吗?有的话请推荐?
【问题讨论】:
-
跨微服务使用相同会话是一种反模式。理想情况下,它应该是基于令牌的。
标签: spring-boot spring-session
我正在做一个项目,我有两个微服务,一个用于身份验证和授权,另一个用于进行一些操作。我想在两个微服务之间共享同一个会话。目前,我将会话存储在 Redis 中,然后在两个微服务中进行管理。
这是一种有效的方法吗?有的话请推荐?
【问题讨论】:
标签: spring-boot spring-session
正如@sid 所指出的,微服务应该是无状态的。每个请求都应独立处理。如果您需要访问微服务中的用户信息,您可以在请求中传递带有所有声明的签名令牌。 如果你真的希望它是有状态的,Redis 是最好的选择。
【讨论】:
直接不可能跨两个应用程序使用会话。在这种情况下,您正在使用两个微服务。 我不知道你的确切问题。我猜你正在尝试跨两个应用程序而不是会话进行事务
【讨论】: