(微服務)微服務無狀態設計原則

語言: CN / TW / HK

1.什麼是無狀態服務

對於無狀態服務,首先説一下什麼是狀態:如果一個數據需要被多個服務共享,才能完成一筆交易,那麼這個數據被稱為狀態。進而依賴這個“狀態”數據的 服務被稱為有狀態服務,反之稱為無狀態服務。

2.微服務設計原則

  • 微服務要儘量做到無狀態,這樣可以橫向擴展。
  • 無狀態服務原則並不是説在微服務架構裏就不允許存在狀態,表達的真實意思是要把有狀態的業務服務改變為無狀態的計算類服務,那麼狀態數據也就相應的遷移到對應的“有狀態數據服務”中。
  • 場景説明:例如我們以前在本地內存中建立的數據緩存、Session 緩存,到現在的微服務架構中就應該把這些數據遷移到分佈式緩存中存儲,讓業務服務變成一個無狀態的計算節點。遷移後,就可以做到按需動態伸縮,微服務應用在運行時動態增刪節點,就不再需要考慮緩存數據如何同步的問題。
  •  
  •