![](/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.