服務發(fā)現(xiàn)系統(tǒng)之consul入門

一、什么是consul?

許昌網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、響應式網(wǎng)站開發(fā)等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)自2013年創(chuàng)立以來到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)。

  Consul是一個支持多數(shù)據(jù)中心分布式高可用的服務發(fā)現(xiàn)和配置共享的服務軟件,是由HashiCorp公司用Go語言開發(fā)的,基于Mozilla Public License 2.0的協(xié)議開源的。具有天然可移植性(支持Linux、windows和Mac OS X);安裝包僅包含一個可執(zhí)行文件,方便部署,與Docker等輕量級容器可無縫配合。

  與Consul同類的產(chǎn)品有:Zookeeper、Doozer、Etcd。

二、特性

  1.服務注冊:通過HTTP API或DNS,告訴服務注冊中心有新的服務加入。

  2.服務發(fā)現(xiàn):通過HTTP API或DNS,可以知道目標服務的地址和端口。

  3.健康檢查:支持多種方式,HTTP、TCP、Docker、Shell腳本定制化監(jiān)控。

  4.配置模板:Consul Template負責定期從服務注冊中心獲取信息,如果有變化自動更新配置文件并重新加載。

  5.可視化Web界面

  6.支持多數(shù)據(jù)中心

補充:

  什么是服務注冊?

  答:一個服務將其位置信息在“中心注冊節(jié)點”注冊的過程。該服務一般會將它的主機IP地址以及端口號進行注冊,有時也會有服務訪問的認證信息,使用協(xié)議,版本號,以及關(guān)于環(huán)境的一些細節(jié)信息。

  什么是服務發(fā)現(xiàn)?

  答:服務發(fā)現(xiàn)可以讓一個應用或者組件發(fā)現(xiàn)其運行環(huán)境以及其他應用或組件的信息。用戶配置一個服務發(fā)現(xiàn)工具就可以將實際容器跟運行配置分離開。常見配置信息包括:ip、端口號、名稱等。

三、應用場景

  1.docker、CoreOS實例的注冊于配置共享

  2.Vitess集群

  3.SaaS應用的配置共享

  4.與confd服務集成,動態(tài)生成nginx與haproxy配置文件

四、優(yōu)勢

  1.使用Raft算法來保持一致性,比paxos算法更直接,zookeeper采用的是paxos算法

  2.支持多數(shù)據(jù)中心,內(nèi)外網(wǎng)的服務采用不同的端口進行監(jiān)聽,可以避免單點故障;zookeeper等不支持多數(shù)據(jù)中心

  3.支持健康監(jiān)測

  4.支持http協(xié)議與dns協(xié)議接口 

  5.提供web界面

五、系統(tǒng)架構(gòu)

 服務發(fā)現(xiàn)系統(tǒng)之consul入門    這是Consul官網(wǎng)提供的一個典型的系統(tǒng)結(jié)構(gòu)圖。

  Consul建議每個DataCenter的Server的節(jié)點最好在3-5個,主要是方便在失敗以及數(shù)據(jù)復制的性能;Client的數(shù)量是任意的。

  DataCenter的所有節(jié)點都會參與到Gossip協(xié)議;Client到Server會通過LAN Gossip。所有的節(jié)點都在Gossip pool中,通過消息層來實現(xiàn)節(jié)點之間的通信以達到故障檢測的目的,并且不需要給Client配置Server的地址。

  Server節(jié)點還會參與到WAN Gossip池中,通過Server節(jié)點就可以讓DataCenter之間做簡單的服務發(fā)現(xiàn)。比如增加一個Datacenter就只需要讓Server節(jié)點參與到Gossip Pool中。并且,DataCneter之間的通信和服務請求就可以通過WAN Gossip 來隨機請求另外一個DataCenter的Server節(jié)點,然后被請求的Server 會再把請求foword到本DataCenter的leader節(jié)點。

  Server leader的選舉是通過Consul的Raft算法實現(xiàn)的,leader節(jié)點需要負責所有的請求和處理,并且這些請求必須復制給所有的其他非leader的server節(jié)點。非leader節(jié)點接收到RPC請求的時候也會forward到leader節(jié)點。

 注:關(guān)于leader的詳細選舉流程可以參考Raft算法,有時間可以研究下Raft算法與Paxos算法。 

六、安裝與部署Console

  詳情請看下一篇推文。 

名稱欄目:服務發(fā)現(xiàn)系統(tǒng)之consul入門
標題來源:http://muchs.cn/article48/jcjshp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設建站公司、微信小程序、響應式網(wǎng)站、企業(yè)建站手機網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設