須要分佈式緣由:
1. 職責單一 一個服務只作一類工做
2.系統安全,內外網隔離
3. 易於維護,每一個服務足夠小,只須要更新某個服務而不是全部服務器都暫停,更加容易監控服務器的負載
4. 第三方接入,不一樣語言開發部署環境不同後端
依賴於中間層而不依賴於服務緣由:
1. 服務負載過大能夠在中間層作負載均衡
2. 後端某個服務出現問題,能夠切換主備服務
3. 替換後端某個服務的版本作灰度發佈
4. 後端服務部署爲多個獨立的進程/服務器 會出現:bs頁面的跨域問題
5. 有一個API代理網關統一提供服務的對外訪問跨域