一、什么是consul?
Consul是一個(gè)支持多數(shù)據(jù)中心分布式高可用的服務(wù)發(fā)現(xiàn)和配置共享的服務(wù)軟件,是由HashiCorp公司用Go語言開發(fā)的,基于Mozilla Public License 2.0的協(xié)議開源的。具有天然可移植性(支持Linux、windows和Mac OS X);安裝包僅包含一個(gè)可執(zhí)行文件,方便部署,與Docker等輕量級(jí)容器可無縫配合。
與Consul同類的產(chǎn)品有:Zookeeper、Doozer、Etcd。
二、特性
1.服務(wù)注冊(cè):通過HTTP API或DNS,告訴服務(wù)注冊(cè)中心有新的服務(wù)加入。
2.服務(wù)發(fā)現(xiàn):通過HTTP API或DNS,可以知道目標(biāo)服務(wù)的地址和端口。
3.健康檢查:支持多種方式,HTTP、TCP、Docker、Shell腳本定制化監(jiān)控。
4.配置模板:Consul Template負(fù)責(zé)定期從服務(wù)注冊(cè)中心獲取信息,如果有變化自動(dòng)更新配置文件并重新加載。
5.可視化Web界面
6.支持多數(shù)據(jù)中心
補(bǔ)充:
什么是服務(wù)注冊(cè)?
答:一個(gè)服務(wù)將其位置信息在“中心注冊(cè)節(jié)點(diǎn)”注冊(cè)的過程。該服務(wù)一般會(huì)將它的主機(jī)IP地址以及端口號(hào)進(jìn)行注冊(cè),有時(shí)也會(huì)有服務(wù)訪問的認(rèn)證信息,使用協(xié)議,版本號(hào),以及關(guān)于環(huán)境的一些細(xì)節(jié)信息。
什么是服務(wù)發(fā)現(xiàn)?
答:服務(wù)發(fā)現(xiàn)可以讓一個(gè)應(yīng)用或者組件發(fā)現(xiàn)其運(yùn)行環(huán)境以及其他應(yīng)用或組件的信息。用戶配置一個(gè)服務(wù)發(fā)現(xiàn)工具就可以將實(shí)際容器跟運(yùn)行配置分離開。常見配置信息包括:ip、端口號(hào)、名稱等。
三、應(yīng)用場(chǎng)景
1.docker、CoreOS實(shí)例的注冊(cè)于配置共享
2.Vitess集群
3.SaaS應(yīng)用的配置共享
4.與confd服務(wù)集成,動(dòng)態(tài)生成nginx與haproxy配置文件
四、優(yōu)勢(shì)
1.使用Raft算法來保持一致性,比paxos算法更直接,zookeeper采用的是paxos算法
2.支持多數(shù)據(jù)中心,內(nèi)外網(wǎng)的服務(wù)采用不同的端口進(jìn)行監(jiān)聽,可以避免單點(diǎn)故障;zookeeper等不支持多數(shù)據(jù)中心
3.支持健康監(jiān)測(cè)
4.支持http協(xié)議與dns協(xié)議接口
5.提供web界面
五、系統(tǒng)架構(gòu)
這是Consul官網(wǎng)提供的一個(gè)典型的系統(tǒng)結(jié)構(gòu)圖。
Consul建議每個(gè)DataCenter的Server的節(jié)點(diǎn)最好在3-5個(gè),主要是方便在失敗以及數(shù)據(jù)復(fù)制的性能;Client的數(shù)量是任意的。
DataCenter的所有節(jié)點(diǎn)都會(huì)參與到Gossip協(xié)議;Client到Server會(huì)通過LAN Gossip。所有的節(jié)點(diǎn)都在Gossip pool中,通過消息層來實(shí)現(xiàn)節(jié)點(diǎn)之間的通信以達(dá)到故障檢測(cè)的目的,并且不需要給Client配置Server的地址。
Server節(jié)點(diǎn)還會(huì)參與到WAN Gossip池中,通過Server節(jié)點(diǎn)就可以讓DataCenter之間做簡(jiǎn)單的服務(wù)發(fā)現(xiàn)。比如增加一個(gè)Datacenter就只需要讓Server節(jié)點(diǎn)參與到Gossip Pool中。并且,DataCneter之間的通信和服務(wù)請(qǐng)求就可以通過WAN Gossip 來隨機(jī)請(qǐng)求另外一個(gè)DataCenter的Server節(jié)點(diǎn),然后被請(qǐng)求的Server 會(huì)再把請(qǐng)求foword到本DataCenter的leader節(jié)點(diǎn)。
Server leader的選舉是通過Consul的Raft算法實(shí)現(xiàn)的,leader節(jié)點(diǎn)需要負(fù)責(zé)所有的請(qǐng)求和處理,并且這些請(qǐng)求必須復(fù)制給所有的其他非leader的server節(jié)點(diǎn)。非leader節(jié)點(diǎn)接收到RPC請(qǐng)求的時(shí)候也會(huì)forward到leader節(jié)點(diǎn)。
注:關(guān)于leader的詳細(xì)選舉流程可以參考Raft算法,有時(shí)間可以研究下Raft算法與Paxos算法。
六、安裝與部署Console
詳情請(qǐng)看下一篇推文。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
新聞標(biāo)題:服務(wù)發(fā)現(xiàn)系統(tǒng)之consul入門-創(chuàng)新互聯(lián)
分享地址:http://chinadenli.net/article28/ghjcp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、網(wǎng)站導(dǎo)航、網(wǎng)站營(yíng)銷、網(wǎng)站制作、企業(yè)網(wǎng)站制作、虛擬主機(jī)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容