本文摘自 李林峰著的《分布式服務(wù)框架原理與實(shí)踐》

MVC (Modle View Controller) 架構(gòu): 當(dāng)業(yè)務(wù)規(guī)模很小時(shí),將所有功能都部署在同一個(gè)進(jìn)程中,通過(guò)雙機(jī)或者前置負(fù)載均衡器實(shí)現(xiàn)負(fù)載分流;此時(shí),用于分離前后臺(tái)邏輯的 MVC 架構(gòu)是關(guān)鍵。
RPC (Remote Procedure Call)架構(gòu):當(dāng)垂直應(yīng)用越來(lái)越多,應(yīng)用之間交互不可避免,將核心和公共業(yè)務(wù)抽取出來(lái),作為獨(dú)立的服務(wù),實(shí)現(xiàn)前后臺(tái)邏輯分離。此時(shí),用于提高業(yè)務(wù)復(fù)用及拆分的 RPC 框架是關(guān)鍵。
SOA (Service Oriented Architecture)架構(gòu):隨著業(yè)務(wù)發(fā)展,服務(wù)數(shù)量越來(lái)越多,服務(wù)生命周期管控和運(yùn)行態(tài)的治理成為瓶頸,此時(shí)用于提升服務(wù)質(zhì)量的 SOA 服務(wù)治理是關(guān)鍵。
微服務(wù)架構(gòu):隨著敏捷開(kāi)發(fā)、持續(xù)支付、DevOps 理論的發(fā)展和實(shí)踐,以及基于 Docker 等輕量級(jí)容器 (LXC) 部署應(yīng)用和服務(wù)的成熟,微服務(wù)架構(gòu)開(kāi)始流行,逐漸成為應(yīng)用架構(gòu)的未來(lái)演進(jìn)方向。通過(guò)服務(wù)的原子化拆分,以及微服務(wù)的獨(dú)立打包、部署和升級(jí),小團(tuán)隊(duì)敏捷交付,應(yīng)用的交付周期將縮短,運(yùn)營(yíng)成本也將大幅下降。