創建健壯、可擴展且可靠的微服務的 10 種基本微服務設計模式
服務發現與註冊
- Service Registry: 提供一個註冊自身的中心使服務能夠動態地相互定位。
故障處理與容錯
- Circuit Breaker: 當
檢測
到故障時自動隔離失敗的服務以防止系統過載。 - Bulkhead Pattern: 系統
分割
成獨立的區塊以防止故障蔓延。
API 管理與網關
- API Gateway: API Gateway 充當反向代理,用戶端只記住一個主機/埠位址,而不是每個微服務的多個IP,管理和路由 API 請求。可以執行負載平衡,處理身份驗證、授權、速率限制、監控和其他 API 管理功能。
資料管理與存儲
- Database per Service: 每個服務都有自己的資料庫。
- Command Query Responsibility Segregation (CQRS): 將讀取和寫入操作分離。
- Externalized Configuration: 將應用程式的設定從程式碼中分離出來,並儲存在外部檔案。
分散式系統設計
- Event-Driven Architecture: 記錄系統中每個事件的完整歷史來管理和重建系統。
- Saga Pattern: 管理跨多個服務的長時間運行的事務的事務。
- Backends for Frontends (BFF): 為每個用戶端提供特定的後端。
如果你覺得這篇文章很棒,請你不吝點讚 (゚∀゚)