首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用微服务多实例刷新请求令牌

问如何使用微服务多实例刷新请求令牌
EN

Stack Overflow用户
提问于 2018-02-13 06:18:32
回答 1查看 1.9K关注 0票数 2

场景:

当请求令牌过期以及来自不同服务实例的多个请求发生时,所有请求都通过远程HTTP调用请求一个新的请求令牌,同时,后一个请求令牌将使前一个请求令牌无效。因为每个获取新令牌的请求都会使前一个令牌无效。生成请求令牌的服务是第三方服务,我们不能更改它。

问题:

  1. 我们的应用程序架构是基于微服务的,每个服务都有多个实例,如何在每个服务之间重用请求令牌?(可能将其存储在外部Redis中是一个选项)
  2. 在服务启动期间,如何确保只向第三方服务发送一个刷新令牌请求?
  3. 之后,当请求令牌过期时,我们如何更新它?

技术栈:

  • Java 8
  • SpringCloud
  • Redis
  • 牧场主
  • MySQL
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-14 02:57:50

以下是您可以考虑的选项

  1. 为令牌管理创建一个新的MicroService。所有MicroServices将通过此服务访问第三方Auth组件
  2. 在令牌管理服务中,您可以创建一个Singleton bean,该bean将在服务启动时自动初始化(@Autowired)
  3. 在这个bean中,您可以拥有调用第三方API的逻辑。
  4. 根据您的需求,您可以决定是否需要像Redis/memcache这样的缓存服务,还是需要一个RDBMS表
  5. 在此令牌管理服务中,当从第三方API获得令牌过期响应时,可以使用更新令牌的逻辑
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48760583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档