微服務架構學習之我見

理解微服務

關于微服務架構的文章和資料已經不甚枚舉,有興趣的可以先參考Martin Fowler的大作。這里談談個人對微服務架構的認識和理解。

軟件設計的本質問題

軟件設計最終的追求是高內聚、低耦合,各種各樣的編程語言、框架、原則、模式都是為了幫助我們達成這個目標。滿足這種特征的軟件具有更好的可擴展性、可伸縮性、可維護性。

微服務架構也不例外。通過將服務劃分為多個、獨立的微服務,消除單體程序中存在的緊耦合;各個相互獨立的微服務可以獨立開發、維護、部署和升級。關于微服務的優勢和劣勢在此不再贅述,已經有很多的資料對此進行解釋。

Erlang

Erlang跟微服務實際上沒有什么直接的關系。但是這門語言的設計哲學使得我們能發現它跟微服務之間的一些內在關聯。

Erlang具有以下特征:

  • 輕量級進程。單臺PC機上可以創建數以萬計的進程。
  • 消息驅動。進程之間通過消息進行交互。
  • 容錯。進程之間的鏈接、監督使得系統更可靠。
  • 通過進程組管理進程。

這些特征使得Erlang開發出來的系統天然地就類似于一個小型的微服務系統,兩者看上去頗有幾分神似。

框架、工具

微服務架構是當前互聯網應用的流行架構模式,最近十分火熱。從各種論壇、會議、演講中可以看到各種框架和工具的出現,甚至有人說,不用XXX的系統就不是微服務架構。

用不用框架、工具,跟是不是微服務架構沒有必然的聯系。架構不等于框架和工具的堆積。從理論上講,不用任何框架和工具,同樣可以開發出高內聚、松耦合的系統,只不過框架和工具的存在讓我們可以站在巨人的肩膀上前進。

實施微服務

一種架構的成功落實和實施,離不開文化、團隊、流程、技術等方面的支撐。

  • 持續改進的自組織團隊
    就像康威定律所說,一種架構的實施對應著一種組織的形式。為了實施微服務架構,也需要有相應的組織結構。
    小而精的團隊往往更有戰斗力,沒有強力干預的自組織團隊更容易產生高質量的軟件。在類似蟻群、神經網絡、免疫系統等復雜自適應系統中,沒有中央控制者進行管理和指揮,卻運行的非常良好,盡管其中的奧秘至今還不為人知。
  • 敏捷實踐
    如果說團隊的自組織從文化上保證了一種架構的成功實施,敏捷實踐則從流程層面為架構的成功實施提供支持。
  • 技術能力
    軟件領域的技術能力是團隊和組織實施架構的基本功。它讓我們具有良好的洞察力,識別出快速變化中的變與不變,也是架構得以成功實施的基礎。

借鑒意義

看待事物往往可以從三個不同的層次出發,分別對應著價值觀、原則和實踐。比如,我們經常談到的敏捷,這三個層次分別對應著一棵樹的樹根、樹干和枝葉。

對于微服務架構,我個人認為屬于原則層面。軟件設計的本質復雜性問題并沒有革命性的突破,技術的發展更多地體現在原則和實踐層面。

微服務架構也不是下一個銀彈,也不可能適用于每一個領域,但是其背后的思想卻值得我們借鑒。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,406評論 6 538
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,034評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,413評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,449評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,165評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,559評論 1 325
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,606評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,781評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,327評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,084評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,278評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,849評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,495評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,927評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,172評論 1 291
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,010評論 3 396
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,241評論 2 375

推薦閱讀更多精彩內容

  • “微服務架構”這一術語在前幾年橫空出世,用于描述這樣一種特定的軟件設計方法,即以若干組可獨立部署的服務的方式進行軟...
    ThoughtWorks閱讀 16,943評論 1 71
  • 微服務最近非常流行,各大互聯網公司紛紛采用微服務架構體系,微服務架構模式正在為敏捷部署以及復雜企業應用實施提供巨大...
    Sting閱讀 9,105評論 0 57
  • 一、微服務將變得輕量級 架構需要由人去設計,這些人被稱為架構師。或許很多人并未授予架構師的頭銜,但自己卻從事著架構...
    justmilkrain閱讀 5,442評論 10 109
  • 1. 微服務架構介紹 1.1 什么是微服務架構? 形像一點來說,微服務架構就像搭積木,每個微服務都是一個零件,并使...
    靜修佛緣閱讀 6,663評論 0 39
  • 博客原文 “微服務”的概念興起于四五年前,近幾年尤其火熱,各大廠都在進行微服務化改造和微服務建設。最近一年來我們也...
    rabbitGYK閱讀 11,040評論 13 50