![](/img/trans.png)
[英]How to maintain SseEmitters list between multiple instances of a microservice?
[英]How to refresh request token with microservice multiple instances
场景:
当请求令牌到期并且来自不同服务实例的多个请求发生时,所有请求都通过远程HTTP调用同时请求新的请求令牌,而后一个请求令牌将使前一个请求令牌无效。 因为每个获取新令牌的请求都会使前一个无效。 生成请求令牌的服务是第三方的,我们无法更改它。
问题:
我们的应用程序架构基于微服务,每个服务将具有多个实例,如何在每个服务之间重用请求令牌?(也许将其存储在外部Redis中是一个选择)
在服务启动期间,我们如何确保只有一个刷新令牌请求发送到第三方服务?
之后,当请求令牌过期时,我们如何续签它?
技术栈:
以下是您可以考虑的选项
为令牌管理创建一个新的MicroService。 所有微服务都会通过此服务访问第三方身份验证组件
在令牌管理服务中,您创建一个Spring Singleton bean,该服务启动时将自动初始化(@Autowired)
在此bean内,您可以具有调用第三方API的逻辑
根据您的需求,您可以决定是否需要像Redis / memcache这样的缓存服务,或者是否需要RDBMS表
在此令牌管理服务中,当您从第三方API获得令牌过期响应时,便可以使用逻辑来更新令牌
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.