天天看點

什麼是微服務架構,該從哪些方面深入了解?

歡迎通路網易雲社群,了解更多網易技術産品營運經驗。

簡單地說,微服務架構就是以業務域或業務功能為邊界,将一個大而全的應用拆分為可以獨立開發,獨立部署,獨立測試,獨立運作的一組小的應用,并且使用輕量級,通用的機制在這組應用間進行通信。

什麼是微服務架構,該從哪些方面深入了解?

拿着顯微鏡看微服務架構,品讀 Martin Fowler 的定義,可能出不來,不妨用望遠鏡來看一看——如同黃仁宇喜歡從數千年曆史的縱深來論述曆史的發展,如同唐德剛提出曆史三峽理論(雖然此類史識在史學界尚有争議,但方法可以借鑒),我們也可以從資訊技術深化應用、架構長期演進的角度來認識微服務架構。

從宏觀的層次來說,數字經濟與網際網路、雲計算、大資料互相促進,企業數字化轉型更新離不開雲計算。技術的發展總是伴随着經濟的改進,數字經濟是繼農業經濟、工業經濟之後全新的社會經濟發展形态,也是世界經濟創新發展的主流模式。數字經濟以雲為核心技術引擎,以資料為關鍵生産要素。數字經濟時代,網際網路、雲計算都變成了社會經濟的基礎設施,變成了業務的一部分,IT 架構、資料架構、應用架構全面改變。(點選下載下傳 IDC 數字經濟相關報告)

IDC 全球 IT 産業預測,到 2021 年,全球至少 50% 的 GDP 将以數字化的方式實作,數字技術将全面滲透各個行業,并實作跨界融合和倍增創新,驅動世界經濟向以數字經濟為重要内容的經濟活動加速轉變。

什麼是微服務架構,該從哪些方面深入了解?

來源:中國資訊化百人會,2018

從中觀的角度來說,雲原生(Cloud Native)技術是應用架構進化的方向,是企業發揮雲計算價值(如按需供給、高彈性、強PaaS)的必由之路。業務上雲并非削足适履,不過如果我們以瘦為美,而本身虛胖,相同款式的衣服,想要穿在模特身上的那種效果,就必須适當地減肥(改造業務平台)了,當然我們也可以不在乎體重、形态,如此面對拳擊、舉重這類項目就比較難受了。減肥不是一朝一夕的事情,雲原生也不是從天而降的,以網易為例,應用架構以及基礎設施也是随着業務規模的不斷擴大而演進的,團隊不斷解決暴露出來的各種問題,大緻經曆了工程化、自動化、服務化三個階段。了解更多相關知識可以參考《雲原生應用架構實踐》(網易雲基礎服務架構團隊著)。

從微觀的角度來說,雲原生技術包括微服務架構、容器和 DevOps 等核心内容。類似人類社會的專業化分工協作,微服務根據業務子產品劃分互相獨立的服務種類,讓業務可以做到又快又好。微服務基本原則是高内聚、低耦合,也有些類似于傳統軟體的元件,當然服務劃分是一個比較複雜的問題。IDC 預測,在超過一半的全球 2000 強企業中,平均 1/3 的數字化服務互動将來自 API 開放生态系統。如果不擁抱微服務,很難想象如何實作這樣的盛況有多麻煩。關于微服務、DevOps 和容器的關系以及容器技術的選擇,可以參考網易雲架構師這篇文章:為什麼 kubernetes 天然适合微服務

什麼是微服務架構,該從哪些方面深入了解?

單體架構 VS 微服務架構

故而,如果有傳統開發經驗,可以認為微服務就是傳統元件技術在雲端以插件化形式的自然映射 ;而從架構演進的角度,微服務的本質,是實作 DevOps、實作雲原生應用架構、促進數字化轉型更新的工具。

微服務技術特點決定了系統的複雜性,搞微服務不一定用容器技術,但不管服務商還是企業客戶,玩過的都承認,容器是微服務的最佳搭檔。要玩好微服務,微服務平台需要的不僅僅是無侵入的服務治理能力,容器、CI/CD、APM、測試等服務也是必要的,這也是網易雲輕舟微服務的産品設計思路。

相關文章:

【推薦】 HBase-資料寫入流程解析

繼續閱讀