一、微服務由來
微服務不是被發明出來的,而是從現實世界中總結出來的一種趨勢或模式。
-samnewman
多端技術促使了服務架構公升級為微服務架構,而網際網路加速了微服務架構演進。
微服務架構更關注廣度(大方向)並兼顧重要細節,滿足現有需求同時能應對將來的變化。
二、微服務的發展
2.1、面向服務架構soa與微服務的關係是什麼?
soa在發展過程中,由於廠商新增了太多元素(很多是出於銷售原因),把面向服務的架構soa搞的聲名狼藉,同時soa本身模式上也存在一些問題。微服務社群的很多技術人員都具有大型機構整合服務經驗,他們深知僅僅soa已經不能完全涵蓋服務經驗,再加上網際網路的發展,讓這些整合服務經驗傳遞出來,於是微服務倡導者拒絕繼續使用soa標籤。但還是有不少人認為微服務是從soa中發展而來的,或許面向服務是對的。
2.2、微服務架構是否需要不斷演進?
設計合理的服務是要對系統有足夠的認識,從模組到服務邊界以及暴露的內容都需要很高的認知,並且還需要很多設計理論支撐。微服務架構提倡持續改變和演進系統,變化無法避免,擁抱變化才是王道。
-工具支援
-制定原則
-實踐三、微服務模式
3.1、微服務架構的主要好處有哪些?
技術異構性
彈性擴充套件
簡化部署
與組織結構相匹配
可組合性
對可替代性的優化
3.2、微服務怎麼衡量好壞?
(1)、松耦合。 修改乙個服務不需要修改另乙個服務,最小知識原則,基於介面設計,api技術無關性。
(2)、高內聚。把因相同原因而變化的東西聚合到一起,而把因不同原因而變化的東西分離
開來。3.3、微服務粒度如何衡量?
不能以**行多少來衡量服務粒度。比如像kotlin語言能使用很少的**完成其他語言相同的功能,還比如乙個服務的**可能有多個依賴項,而每個依賴項又會有很多**,再比如有的領域物件本身很複雜,服務的本質不應該在過渡強調服務的大小服務粒度與團隊結構相匹配,如果**庫過大,乙個團隊無法正常維護,即可僅一步查分。
3.4、服務與應用的關係?
服務和應用可以一對一,也可以一組服務集乙個應用,服務集通常是乙個獨
立的業務模組。但如何選擇要看團隊組織,只要與團隊能力匹配即可。
3.5、微服務如何建模
建模是一種能力,是需要有專業知識加業務理解。參考《微服務設計》、《領域驅動設計》等書
四、微服務架構在五阿哥的演進
4.1、工具化-架構/運維/開發
完善服務治理
依賴關係管理
介面設計平台
服務編排
更完善的監控
安全控制
4.2、制定微服務原則-架構
讓目標和大方向一致,比如:一致的介面和資料流
4.3、實踐,更細粒度的約束-開發
關注服務邊界和邊界內的事情,把服務做到合適。實踐出細粒度規則,做好服務的粒度及服務暴露的粒度需要比較高設計能力。
部分文件摘自《微服務設計》,中國工信出版集團,人民郵電出版社,[英] 紐曼(sam newman) 著;崔力強,張駿 譯
**:五阿哥技術部架構師:菏澤
各大網際網路公司架構演進之路彙總
最近,我的朋友整理了各大網際網路公司的架構演進相關介紹,讓我們一起看一看各大網際網路公司在成長過程中遇到過哪些問題,又是如何解決問題的。希望對你有幫助!建議收藏儲存,也歡迎點讚 哦!支付寶和螞蟻花唄的技術架構及實踐 支付寶的高可用與容災架構演進 資料魔方技術架構解析 技術發展歷程和架構經驗分享 阿里...
國內網際網路公司季報
阿里 2018.6 2018.9季報 第一財季營收809.2億元人民幣,市場預期808.8億元人民幣。第一財季營收同比增長61 連續6個季度保持超過55 的高速增長。以及利潤相關 阿里巴巴稱,第一財季非美國通用會計準則下盈利達到201.01億元,同時,由於螞蟻金服估值大幅增加,授予員工的螞蟻金服相關...
FW 網際網路公司職位
網際網路公司的職位通常都差不多,基本上都有技術部和市場部。而通常情況下,各公司會根據自己的情況,採用不同的組織架構。有些公司會選擇使用扁平式的組織架構,就是各職能單位各自獨立,彼此之間通過管理人員與部門員工的頻繁溝通 呼應,來解決各種問題 有些公司則選擇專案組式的組織架構,將專案所需的人員集中在乙個...