1. 程式人生 > >菜鳥的微服務之旅(1)---認識微服務(下)

菜鳥的微服務之旅(1)---認識微服務(下)

上文我們瞭解了為什麼微服務架構思想會出現,以及闡述了關於微服務的優缺點。

那本文我們繼續來了解關於微服務的東西。

首先,我們需要知道的是微服務架構和SOA有什麼區別呢?

    前文我們提及SOA是通過將整體服務分成子系統,在開發過程中還是避免不了專案的臃腫導致的種種弊端,而微服務是通過將一個系統分成多個服務,每個服務都是相互獨立執行的,整合方式簡單,並且服務都能夠獨立部署,而SOA卻不能達到這樣的效果,SOA根本上還是集中式的服務架構,各個子系統中依賴緊密,無法獨立部署執行。

以上簡單對二者的區別做了說明,如果有興趣的小夥伴們,可以通過相關的資料對二者進行更深入的認識。

那如何搭建微服務呢???

首先我們要明確一件事情,不是所有的專案都需要並一定要使用微服務架構思想。要根據需求而定,相對而言微服務架構適合未來具有一定的拓展複雜度,且有很大使用者增量預期的應用,簡而言之就是1業務功能複雜2使用者量大3長期跟進的專案。對於系統拆分成微服務,可以考慮的要點就是:通過業務功能分解並定義與業務功能相對應的服務。

其次,要學習微服務,我們必須知道微服務架構都有哪些元件:服務註冊中心,服務註冊,服務發現,負載均衡,服務容錯,服務閘道器,分散式配置中心,健康檢查,日誌處理等。

再者,每一個新技術都有其流程:當微服務啟動時,會將其資訊註冊到服務註冊中心,在客戶端傳送請求時,請求首先會被API閘道器攔截,API閘道器會讀取請求資料,並從註冊中心獲取對應的服務資訊,然後API閘道器會根據服務資訊呼叫所需的微服務。

最後,對微服務技術選型做筆記:

1.微服務例項的開發:spring-boot

2.服務的註冊與發現:spring-cloud-eureka或者apache的zookeeper或者Consul,Etcd或者Dubbo等

3.負載均衡:spring-cloud-ribbon 或者Dubbo

4.服務容錯:Hystrix 在spring-cloud中包含spring-cloud-hystrix

5.API閘道器:Spring-cloud-zuul或者spring reactor,netty或nodejs等

6.分散式配置中心:spring-cloud-config

7.除錯:swagger

8.部署:docker進行打包和部署微服務

9.持續整合:jenkins,並使用docker進行容器封裝化

----本文觀《微服務架構基礎》有感,如有侵權,請及時指出。謝謝。

 下一篇:我們走入spring-boot的世界看一看微服務例項的開發技術~