【從零開始學微服務】02.初識微服務
大家好,歡迎來到萬貓學社,跟我一起學,你也能成為微服務專家。
軟件架構風格
那么到底微服務是個什么東西呢?其實,微服務是一種軟件架構風格。那么什么又是軟件架構風格呢?可能有的童鞋已經懵圈了。
我們打個比方,好比建造房子,有中式建筑,歐式建筑等。這些不同的建筑風格,從外觀上看,一眼就能看出來差別。
比如黃鶴樓,典型的中式風格建筑,整體使用木制卯榫結構,飛檐翹角,甚至還有五脊六獸。
再看巴黎的教堂,整體用石頭筑建,高高的塔尖、大大的穹頂,一眼就能看出是歐式風格的建筑;
我們回過頭來,再看軟件系統(tǒng)中的架構風格,其實類似我們剛剛說到的建筑風格,就是在設計軟件系統(tǒng)時使用的慣用模式,或者說是慣用伎倆。
了解了什么是軟件架構風格,我們再繼續(xù)看看微服務到底是個什么樣的架構風格?
微服務
微服務(Microservices)是一種軟件架構風格,是以專注于單一責任與功能的小型功能塊為基礎,利用模塊化的方式組合出復雜的大型應用程序,各功能塊使用與語言無關的API相互通信。
這是維基百科給出的微服務的定義,這個定義比較抽象,不是很好理解,那么我們來舉個例子:
這是一個電商系統(tǒng)的例子,我們可以看到它是一個由一系列小服務組成的,比如:商品服務、訂單服務、用戶系統(tǒng)等等。
每一個服務都是圍繞業(yè)務功能進行構建的,比如庫存服務就是圍繞庫存相關的業(yè)務進行構建的。
每一個小服務都是獨立開發(fā)、獨立運行、獨立部署的,比如促銷服務是一個獨立的項目,可以獨立部署運行,所以它可以選擇自己合適的語言或者工具進行構建,和其他服務完全不一樣。
服務和服務之間使用輕量級的API進行通信,比如用戶服務調用發(fā)票服務的時候,是通過基于RESTful風格的HTTP接口。
就這樣,我們已經對微服務有了一個初步的印象,隨后我們再逐步深入了解。
總結
軟件架構風格:在設計軟件系統(tǒng)時使用的慣用模式,或者說是慣用伎倆。
微服務:用一系列小型服務組建成一個大系統(tǒng),每個服務都是圍繞業(yè)務功能進行構建,每個服務都是獨立開發(fā)、運行、部署,服務之間使用輕量級API相互通信。
作者:萬貓學社
歡迎關注微信公眾號 :萬貓學社