微服務的元件

2021-09-26 03:20:21 字數 1066 閱讀 6655

先看一張非常經典的圖:

從圖上可以看出,要完成一次呼叫,有以下步驟:

服務提供者按照一定的格式的服務描述,向註冊中心註冊服務。宣告自己能夠提供什麼服務,並提供服務的位址。

服務消費者向註冊中心發起查詢,查詢自己需要呼叫的服務,獲取服務的位址。

消費者獲取服務位址後,以約定的通訊協議,資料格式向服務提供者,發起呼叫;呼叫成功後,服務提供者,以約定的格式返回資料給消費者;消費者在此以約定的格式,解析結構。

呼叫過程中,服務的請求耗時、呼叫量以及成功率都必須記錄下來,用作監控。呼叫的鏈路資訊也被記錄下來用來做故障的定位和服務的跟蹤。服務出錯後需要處理,這就是服務的治理。

由此可見微服務有以下幾個元件:

服務提供者, 服務消費者, 註冊中心, 服務監控, 服務跟蹤, 服務治理一般,我們將服務提供者稱作服務端。服務端的功能就是提供服務。那麼他要如何提供服務,需要讓呼叫者明確位址、入參、返回值等資訊,這就是服務的描述。目前常見的服務描述有三種:restful api, xml和idl。其中restful api應用比較廣泛。

通常,服務消費者我們稱作客戶端。很簡單哦,顧名思義就是呼叫服務的服務。服務端將提供的服務通過約定好的描述方式,將服務發布出去,客戶端通過約定好的描述方式去呼叫,這個呼叫之間還有幾個問題要解決:資料傳輸,使用什麼協議,是http還是tcp;資料如何傳輸,同步還是非同步,單連線還是多路復用;怎麼壓縮。

上面那張圖,就是服務註冊及消費的流程圖,常用的元件是zookeeper.

服務消費者與服務提供者之間能夠正常發起服務呼叫,你就需要對呼叫情況進行監控,以了解服務是否正常。一般我們會收集一些指標,然後展示著監控面板上。

a服務呼叫b服務,b服務呼叫c服務,這種場景在實際應用中比較常見,當出問題是,我們必須有相應的手段找到問題發生的具體地方,這就是服務追蹤。一般,通過拼id的方式,跟蹤服務。

服務監控能夠發現問題,服務追蹤能夠定位問題所在,而解決問題就得靠服務治理了。服務治理就是通過一系列的手段來保證在各種意外情況下,服務呼叫仍然能夠正常進行。

微服務元件

好記憶不如爛筆頭,能記下點東西,就記下點,有時間拿出來看看,也會發覺不一樣的感受.微服務可謂是當下最火爆的企業級開發應用模式,那麼具體都要用到哪些技術吶,概括如下圖所示 當下最新的微服務元件,無出其右,基本就是這些。熟悉這些體系中的各個元件,對於微服務的實踐有很重要的指導作用。其中 最主要關注的是 ...

微服務架構 Spring Cloud 元件

b springcloud分布式開發五大元件 b 服務發現 netflix eureka 客服端負載均衡 netflix ribbon 斷路器 netflix hystrix 服務閘道器 netflix zuul 分布式配置 spring cloud config b 一 eureka b 由兩個元...

微服務元件 consul

consul是乙個用來實現分布式系統的服務發現與配置的開元工具。主要由 consul組成 什麼是服務註冊?乙個服務將其位置資訊在 中心註冊節點 註冊的過程。該服務一般會將它的主機ip位址以及埠號進行註冊,有時也會有服務訪問的認證資訊,使用協議,版本號,以及關於環境的一些細節資訊。什麼是服務發現?服務...