跳至主要内容

🌧️ 去中心化

去中心化管理

問題

當使用集中式管理時,通常會定義統一的標準,

但每種技術都會有缺點,當碰到這個問題時,

需要花很大的力氣去解決這問題,

如果沒辦法解決,可能會成為系統的瓶頸

微服務解決的問題

整個微服務的架構都是透過統一的通訊介面進行溝通的,

讓整個服務不會被侷限於某種技術框架,可以針對不同情境的場景,

來選擇適合的服務

去中心化的資料管理

定義

在微服務架構底下,我們會期望每個服務管理各自的資料庫,

這就是去中心化的資料管理

實際狀況

有可能會是將資料庫的表格拆分成好幾個 Database,

也有可能是將資料儲存到其他的儲存技術中,如: 將 log 儲存進 MongoDB、將一些比較即時性的資料儲存在 Redis

注意事項

雖然去中心化可以讓資料更細緻,而且可以透過技術的選擇,讓整個資料庫性能達到最佳化,

但在這情境下 資料的一致性 是最致命的弱點,所以在微服務的架構中,只要求最後資料是一致的就可,

如果過程中發生錯誤,需要有補償機制來進行處來,讓資料最終可以達到一致性