1.大型網絡架構變遷
????????SOA與微服務最大的差別就是服務拆分的細度,目前大多數微服務實際上是SOA架構,真正的微服務應該是一個接口對應一個服務器,開發速度快、成本高;
微服務 | SOA |
---|---|
能拆分的就拆分 | 是整體的,服務能放一起的都放一起 |
業務邏輯存在于每一個服務中 | 業務邏輯橫跨多個業務領域 |
使用輕量級的通訊方式,如HTTP | 企業服務產總線(ESB)充當服務之間通訊的角色 |
細粒度 | 粗粒度 |
2.微服務
????????微服務(Microservices)是一種軟件架構風格,它將一個大型的應用程序拆分成多個小型的、自治的服務單元,每個服務單元都圍繞著特定的業務功能構建。每個微服務都可以獨立部署、獨立擴展和獨立維護,它們之間通過輕量級的通信機制進行交互。
2.1 微服務的必要性
? ? ? ? 隨著時代的不斷發展,項目規模越來越大,傳統單體架構使得項目邏輯混亂難以維護,部署速度越來越慢
2.2 微服務的優點
? ? ? ? 易于開發維護、啟動較快、局部修改容易部署、技術棧不受限(輕易能更新換代)、按需伸縮(增加服務功能簡單)
2.3 微服務的缺點
? ? ? ? 運維要求較高(要維護多個項目)、分布式較復雜、接口調整成本高(接口改變,則調用該接口的服務都要調整)