微服務學習之路(一)——微服務架構

最近一直在學習微服務,畢竟如今你們都在說分佈式,集羣等,分佈式和集羣的基本前提是微服務,因此有比較掌握微服務的基本原理。架構

先看一下微服務架構圖,以下圖:框架

 

微服務主要由如下幾個基本組件:分佈式

服務描述、註冊中心、服務框架、服務監控、服務追蹤、服務治理。微服務

一、服務描述性能

  服務調用首先要解決的問題是服務如何對外描述。經常使用的服務描述包括RESTful API、XML配置已及IDL文件。學習

  一般狀況下,若是企業內部之間的服務,都是Java語言,選擇XML配置最簡單。若是內部存在多個服務,而且服務採用的是不一樣語言平臺,建議使用IDL文件方式進行描述服務。若是還存在對外開放服務調用的話,使用RESTful API方式更加通用。blog

服務描述方式 使用場景 缺點
RTSTful API 跨語言平臺,組織內外皆可以使用 使用了HTTP做爲通信協議,相比於TCP協議,性能較差
XML配置 Java 平臺,通常用於組織內部 不支持跨語言平臺
IDL 跨語言平臺,組織內外皆可以使用 修改或者刪除PB字段不能向前兼容

二、註冊中心table

  註冊中心解決服務的發佈和訂閱。服務提供者將本身提供的服務以及地址登記到註冊中心,服務消費者則從註冊中心查詢所需調用的服務地址,發起請求。集羣

三、服務框架監控

  發起調用以前,須要解決問題:通信協議?數據傳輸方式?數據壓縮格式?

四、服務監控

  監控服務調用狀況。須要指標收集、數據處理、數據展現。

五、服務追蹤

  記錄服務調用通過的每一層鏈路,進行問題追蹤和故障定位。

  服務追蹤原理:服務消費者發起調用,本地按照必定的規則生成一個requestid,發起調用時,將requestid看成請求參數的一部分,傳遞給服務提供者;服務提供者接收請求,記錄此次請求的requestid,而後處理請求。若是服務提供者還要繼續請求其餘服務,還會再本地生成一個本身的requestid,而後把兩個requestid看成請求參數繼續傳遞下去。

六、服務治理

  服務監控發現問題,服務追蹤定位問題,服務治理解決問題。

  生成環境常見故障:單機故障、單IDC故障、依賴服務不可用。

相關文章
相關標籤/搜索