微服務架構的出現
單體應用之殤
面向服務的架構(Service-Oriented Architecture,簡稱SOA)
- 無法快速迭代
- 程式碼合併衝突,溝通成本大幅提高
- 迴歸用例龐雜,無法快速迭代
- 無法快速恢復
某版本小需求有bug需要回退整個版本的功能,且需要再走一遍冗長的釋出流程
微服務架構優勢
微服務架構是在 SOA之上做的進一步擴充套件,透過領域建模等理論將一個大型應用拆分成了更細粒度且邊界清晰的服務模組。
每個微服務都能被獨立測試、獨立部署,並藉助 Docker 和 CI/CD(持續整合環境)完成快速上線。
-
快速迭代+快速回滾
細粒度的可獨立部署的小型服務,再加上敏捷開發模式的加持。 -
資源利用大大提高
將硬體等資源定向分配給需要用到資源的微服務,實現差異化的資源利用。統計每個服務叢集的線上壓力水位,應用彈性計算技術在各個服務之間調配計算資源。