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


最近一直在學習微服務,畢竟現在大家都在說分布式,集群等,分布式和集群的基本前提是微服務,所以有比較掌握微服務的基本原理。

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

 

微服務主要由以下幾個基本組件:

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

1、服務描述

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

  通常情況下,如果企業內部之間的服務,都是Java語言,選擇XML配置最簡單。如果內部存在多個服務,並且服務采用的是不同語言平台,建議使用IDL文件方式進行描述服務。如果還存在對外開放服務調用的話,使用RESTful API方式更加通用。

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

2、注冊中心

  注冊中心解決服務的發布和訂閱。服務提供者將自己提供的服務以及地址登記到注冊中心,服務消費者則從注冊中心查詢所需調用的服務地址,發起請求。

3、服務框架

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

4、服務監控

  監控服務調用情況。需要指標收集、數據處理、數據展示。

5、服務追蹤

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

  服務追蹤原理:服務消費者發起調用,本地按照一定的規則生成一個requestid,發起調用時,將requestid當作請求參數的一部分,傳遞給服務提供者;服務提供者接收請求,記錄這次請求的requestid,然后處理請求。如果服務提供者還要繼續請求其他服務,還會再本地生成一個自己的requestid,然后把兩個requestid當作請求參數繼續傳遞下去。

6、服務治理

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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM