GO 微服務(wù)GO-Micro -(2)Consul 基本認(rèn)知

Cousul 簡介

來自官網(wǎng)的介紹

作用:基于GO語言開發(fā),用于實(shí)現(xiàn)分布式系統(tǒng)的服務(wù)發(fā)現(xiàn)與配置的等管理。
特性:

  • Raft 算法 分布式一致性協(xié)議的算法方式。所謂的CP的特性。

  • 服務(wù)發(fā)現(xiàn): Consul提供了通過DNS或者HTTP接口的方式來注冊(cè)服務(wù)和發(fā)現(xiàn)服務(wù)。一些外部的服務(wù)通過Consul很容易的找到它所依賴的服務(wù)。

  • 健康檢測(cè): Consul的Client提供了健康檢查的機(jī)制,可以通過用來避免流量被轉(zhuǎn)發(fā)到有故障的服務(wù)上。

  • Key/Value存儲(chǔ): 應(yīng)用程序可以根據(jù)自己的需要使用Consul提供的Key/Value存儲(chǔ)。 Consul提供了簡單易用的HTTP接口,結(jié)合其他工具可以實(shí)現(xiàn)動(dòng)態(tài)配置、功能標(biāo)記、領(lǐng)袖選舉等等功能。,可以用于配置中心等。

  • 多數(shù)據(jù)中心: Consul支持開箱即用的多數(shù)據(jù)中心. 這意味著用戶不需要擔(dān)心需要建立額外的抽象層讓業(yè)務(wù)擴(kuò)展到多個(gè)區(qū)域。

  • WEB UI 服務(wù)管理

Consul 角色

  • DEV 啟動(dòng)模式(單節(jié)點(diǎn)的形式安裝部署-開發(fā)模式)
    用于本地開發(fā)環(huán)境下的方便的進(jìn)行測(cè)試。如果是線上的環(huán)境的一般我們的是用集群的模式。Consul啟動(dòng)時(shí)候就是一個(gè)服務(wù)注冊(cè)中心.

開發(fā)模式的下,一般我們的都是基于客戶端的自注冊(cè)的模式進(jìn)行,意思就是服務(wù)啟動(dòng)的時(shí)候,把服務(wù)的信息都提交到的我們的注冊(cè)中心上。

  • 線上啟動(dòng)模式
    -- client 客戶端模式 無狀態(tài),作用是把外部請(qǐng)求過來的HTTP或DNS的接口請(qǐng)求轉(zhuǎn)發(fā)到內(nèi)部server服務(wù)端的集群。主要起到的作用是一個(gè)代理。

    -- server 服務(wù)端,保存配置信息,線上環(huán)境一般肯定是需要配置成高可用形式。官網(wǎng)的建議是每個(gè)數(shù)據(jù)中心的server數(shù)量推薦為3 或 5個(gè) 奇數(shù)個(gè)服務(wù)。

關(guān)于server 因?yàn)榛贑P下的強(qiáng)一致性的問題,如果server過多的也增加server之間數(shù)據(jù)同步的時(shí)間。所以也不是越多越好。
當(dāng)我們的集群有一半的掛了基本整個(gè)集群就不可用了!

線上模式下的Consul 架構(gòu)

數(shù)據(jù)中心

請(qǐng)求流程

image.png

consul 工作流

  • 服務(wù)發(fā)現(xiàn)以及注冊(cè):

    當(dāng)服務(wù)的生產(chǎn)者producer 啟動(dòng)的時(shí)候,把自身的服務(wù)的元數(shù)據(jù)信息提交到Consul,Consul接受到注冊(cè)信息后,會(huì)每隔10秒(默認(rèn)值)想注冊(cè)的服務(wù)Prodcucer進(jìn)行健康檢查。

  • 服務(wù)調(diào)用

當(dāng)我們的Consumerl消費(fèi)者請(qǐng)求Prodcuer的是,會(huì)先從Consul獲取到存貯Producter的數(shù)據(jù)(地址IP 和端口等)的臨時(shí)表,從這個(gè)臨時(shí)表里面任選一個(gè)Producr是的IP和Port,進(jìn)行服務(wù)的請(qǐng)求

關(guān)于臨時(shí)表,只會(huì)包含通過健康的檢查的的服務(wù),且會(huì)根據(jù) 默認(rèn)的間隔時(shí)間進(jìn)行更新同步。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 夜鶯2517閱讀 128,087評(píng)論 1 9
  • 版本:ios 1.2.1 亮點(diǎn): 1.app角標(biāo)可以實(shí)時(shí)更新天氣溫度或選擇空氣質(zhì)量,建議處女座就不要選了,不然老想...
    我就是沉沉閱讀 7,361評(píng)論 1 6
  • 我是一名過去式的高三狗,很可悲,在這三年里我沒有戀愛,看著同齡的小伙伴們一對(duì)兒一對(duì)兒的,我的心不好受。怎么說呢,高...
    小娘紙閱讀 3,738評(píng)論 4 7
  • 那一年,我選擇了獨(dú)立遠(yuǎn)行,火車帶著我在前進(jìn)的軌道上爬行了超過23個(gè)小時(shí); 那一年,我走過泥濘的柏油路,在那個(gè)遠(yuǎn)離故...
    木芽閱讀 1,897評(píng)論 4 5

友情鏈接更多精彩內(nèi)容