簡體   English   中英

如何使用微服務多個實例刷新請求令牌

[英]How to refresh request token with microservice multiple instances

場景:

當請求令牌到期並且來自不同服務實例的多個請求發生時,所有請求都通過遠程HTTP調用同時請求新的請求令牌,而后一個請求令牌將使前一個請求令牌無效。 因為每個獲取新令牌的請求都會使前一個無效。 生成請求令牌的服務是第三方的,我們無法更改它。

問題:

  1. 我們的應用程序架構基於微服務,每個服務將具有多個實例,如何在每個服務之間重用請求令牌?(也許將其存儲在外部Redis中是一個選擇)

  2. 在服務啟動期間,我們如何確保只有一個刷新令牌請求發送到第三方服務?

  3. 之后,當請求令牌過期時,我們如何續簽它?

技術棧:

  • Java 8
  • 春雲
  • 雷迪斯
  • 牧場主
  • 的MySQL

以下是您可以考慮的選項

  1. 為令牌管理創建一個新的MicroService。 所有微服務都會通過此服務訪問第三方身份驗證組件

  2. 在令牌管理服務中,您創建一個Spring Singleton bean,該服務啟動時將自動初始化(@Autowired)

  3. 在此bean內,您可以具有調用第三方API的邏輯

  4. 根據您的需求,您可以決定是否需要像Redis / memcache這樣的緩存服務,或者是否需要RDBMS表

  5. 在此令牌管理服務中,當您從第三方API獲得令牌過期響應時,便可以使用邏輯來更新令牌

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM