微服務的由來

微服務這個概念自從2014年被人提及出來後火遍了互聯網圈子,netfilx公司的成功實踐微服務架構更使微服務這個詞在互聯網江湖中名聲大振,一夜之間,幾乎所有的大互聯網公司都爭相進行微服務改造。而且有些公司為了跟風,為了改造而改造,殊不知,他們到底為何要進行微服務改造,微服務改造給他們帶來了什麼好處,解決了什麼問題?那麼,我們就有必要刨根問底,知道微服務的由來,它的來龍去脈,是用來解決什麼問題的?本篇作者將帶你來揭秘一下微服務的由來,避免日後進行盲目的微服務改造而不知原因為何。

微服務的由來

微服務的由來

微服務最早由Martin Fowler與James Lewis於2014年共同提出,微服務架構風格是一種使用一套小服務來開發單個應用的方式途徑,每個服務運行在自己的進程中,並使用輕量級機制通信,通常是HTTP API,這些服務基於業務能力構建,並能夠通過自動化部署機制來獨立部署,這些服務使用不同的編程語言實現,以及不同數據存儲技術,並保持最低限度的集中式管理。

微服務是進化出來的。其實縱觀軟件研發中的所有技術,大多都是進化出來的,很少突然出現一個跟之前所有技術不想關的技術。只不過理論性的知識容易被忽視,大多的技術人員喜歡直奔主題,動手敲敲就是一個微服務,其實只是運用了微服務技術體系中的部分技術。

我們一直有這樣的困擾,計算機領域的知識學習一直有一個難點就是:“解釋一個概念需要用另外幾個概念來解釋,但是解釋另外幾個概念還需要其他概念來解釋”,這不就是計算機領域的發展規律嗎。所以我們都在講究聚焦領域,每個領域都是深不見底,都有他的知識體系,都有他的技術棧。

由於時間關係,我並沒有把所有的線索和證據都羅列出來,其實還有很多東西都是和微服務有關係的,至少說微服務都是需要借鑑這些東西落地,比如,微服務中提到了服務的集成和編排,這些東西在SOA、DDD中都存在,很難說這是微服務的東西還是SOA、DDD的。所以都是互相借鑑和參考,再進一步演化,慢慢的就進化出一些具有代表性的技術概念。

其實微服務出來的概念是比較早的,只是這一概念在被大型系統運用之前,一直不被人所知,自從Netflix公司成功進行微服務改造之後,微服務一詞才真正被人所知曉,Netflix公司是美國在線影片租賃商,曾利用超過 100 億次的用戶觀看紀錄分析觀眾喜好,製作出熱播劇集《紙牌屋》。Netflix 還是業界微服務和 DevOps 組織的楷模,有大規模生產級微服務的成功實踐。尤其是SpringCloud更是將微服務推向了一個熱潮,使無數互聯網公司爭相膜拜。微服務很多公司 (Amazon, eBay, BAT) 都有,甚至比 Netflix 做得更早,但 Netflix 大概是大規模生產級微服務做得最傑出的。我相信現在在從事微服務改造的,知道微服務架構Netflix SpringCloud的居多,對微服務作者Martin Fowler與James Lewis知之甚少。

好了,由於時間關係,今天就介紹到這裡了, 後面將繼續介紹微服務相關的技術和架構,感興趣的朋友可以關注我


分享到:


相關文章: