《分佈式服務架構 原理設計與實戰》 第1章 分佈式微服務架構設計原理

互聯網產品的要求:高可用性,高性能,可伸縮,可擴展和安全性的非功能質量
相對於傳統的企業級技術來說,面向的人羣不一樣,結構也就不一樣。
如果互聯網產品也像企業軟件那樣,就好比整個中國的人都到北京的一個辦事處來辦事,這個辦事處可能無比龐大,但是卻不能很好的服務到各個地方的人。
所以互聯網技術以拆分爲原則來滿足服務於海量用戶的需求。

產品的演化過程

  • 傳統單體架構 lamp
    特點:單體化,所有的組件都耦合在一個開發項目中,並且配置在一個jvm進程中。顆粒度太粗。無法實現單個模塊的上線工作。
    JEE架構
    SSH架構 springmvc

  • SOA服務化架構
    特點:將模塊化組件從單一進程中進一步拆分,形成獨立的對外提供服務的網絡化組件,通過某種網絡協議對外提供服務。
    web service
    esb企業總線

  • 微服務

問題是驅動人類進步的原動力

 soa的服務化架構仍然存在問題,所以纔會進一步演化成微服務的架構。
 webservice
    依賴中心化服務化發現機制
    使用soap通信協議(基於xml的協議交換消息)來序列化通信數據,xml格式數據冗餘,協議太重
    服務化管理和治理設施並不完善
esb
    組合在esb上的服務可能是一個過重的整體服務,或是傳統的jee服務。
    esb視圖通過總線來隱藏系統內部的複雜性,但是系統內部的複雜性仍然存在。
    總線本身的中心化的管理模型,系統變更影響的範圍隨之擴大。

微服務的特點:多個可獨立開發,可配置,可運行和可維護的子服務,子服務之間通過良好的接口定義通信機制。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章