C#使用Consul集群進(jìn)行服務(wù)注冊(cè)與發(fā)現(xiàn)-創(chuàng)新互聯(lián)

前言

創(chuàng)新互聯(lián)專注于烏當(dāng)網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供烏當(dāng)營銷型網(wǎng)站建設(shè),烏當(dāng)網(wǎng)站制作、烏當(dāng)網(wǎng)頁設(shè)計(jì)、烏當(dāng)網(wǎng)站官網(wǎng)定制、微信小程序服務(wù),打造烏當(dāng)網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供烏當(dāng)網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

我個(gè)人覺得,中間件的部署與使用是非常難記憶的;也就是說,如果兩次使用中間件的時(shí)間間隔比較長,那基本上等于要重新學(xué)習(xí)使用。

所以,我覺得學(xué)習(xí)中間件的文章,越詳細(xì)越好;因?yàn)?,這對(duì)作者而言也是一份珍貴的備忘資料。

Consul簡介

Consul一個(gè)什么,我想大家通過搜索引擎一定可以搜索到;所以,我就不在重復(fù)他的官方描述了。

這里,我為大家提供一個(gè)更加好理解的描述。

Consul是什么?

Consul本質(zhì)上是一個(gè)Socket通信中間件。

它主要實(shí)現(xiàn)了兩個(gè)功能,服務(wù)注冊(cè)與發(fā)現(xiàn)與自身的負(fù)載均衡的集群。

我們可以把他理解為一個(gè)沒有界面的應(yīng)用程序,因?yàn)闆]有界面,所以想啟動(dòng)Consul就只能使用命令行了;也因?yàn)闆]有界面,一旦使用命令行啟動(dòng)了Consul,那么,執(zhí)行該命令行的cmd.exe程序,就成了Consul的宿主了;一旦關(guān)閉Cmd窗口,Consul就停止運(yùn)行了。

服務(wù)注冊(cè)與發(fā)現(xiàn)的本質(zhì)是什么?

其實(shí)服務(wù)注冊(cè)與發(fā)現(xiàn)的原理很簡單。

當(dāng)我們?cè)诒緳C(jī)運(yùn)行Consul時(shí),他會(huì)自動(dòng)監(jiān)聽8500端口;然后我們通過一個(gè)開源類庫(這個(gè)開源類庫可以在nuget上檢索到,文章下面會(huì)介紹),調(diào)用其下不同的方法來向這個(gè)Consul進(jìn)程發(fā)送TCP消息,來注冊(cè)服務(wù)或者發(fā)現(xiàn)服務(wù)。

Consul進(jìn)程在接收到注冊(cè)消息時(shí),就把注冊(cè)的服務(wù)信息存儲(chǔ)到本地磁盤或內(nèi)存(因?yàn)槲覜]有具體去調(diào)查Consul存儲(chǔ)數(shù)據(jù)是否使用了數(shù)據(jù)庫,但我們都知道數(shù)據(jù)庫的數(shù)據(jù)也是保存在本地磁盤的,所以,它肯定是把數(shù)據(jù)存進(jìn)磁盤或者內(nèi)存中了)。

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

Consul存儲(chǔ)數(shù)據(jù)的地方,官方為其命名為數(shù)據(jù)中心,也就是上面說的保存我們注冊(cè)的服務(wù)信息的本地磁盤或者內(nèi)存。

Consul提供負(fù)載均衡的集群

Consul的集群也很好理解,在我們成功啟動(dòng)Consul以后,它除了監(jiān)聽8500端口以外,它還監(jiān)聽了一個(gè)8031端口。

這個(gè)8031端口就是用于Consul集群相互通信的。

我們都知道集群是要兩臺(tái)以上的電腦的,所以,我們就必須找到兩臺(tái)或以上的電腦安裝Consul中間件。

然后,使用Consul的命令行,將兩臺(tái)電腦連接到一起,這樣集群就形成了。

在集群內(nèi)每臺(tái)電腦上安裝的Consul中間件,我們統(tǒng)稱為服務(wù)器代理(Agent);當(dāng)集群啟動(dòng)后,會(huì)在多個(gè)代理服務(wù)器之間選舉出一個(gè)Leader。

選舉Leader自然就是服務(wù)器代理之間的通信了,也就是通過上面提到的8031端口通信的。

選舉了Leader,服務(wù)器代理就可以將自身的負(fù)載信息發(fā)送給Leader了,這樣客戶端調(diào)用Consul檢索服務(wù)數(shù)據(jù)時(shí),就可以去性能最優(yōu)的那臺(tái)機(jī)器上獲取信息了。(注:這個(gè)就是舉例說明,并非Consul的負(fù)載均衡的真實(shí)處理模式)

Consul代理服務(wù)器安裝

首先,去官網(wǎng)下載Consul,官網(wǎng)下載地址https://www.consul.io/downloads.html

拉到網(wǎng)站的最下方,選擇Window64-bit的Consul下載,如下圖:

C#使用Consul集群進(jìn)行服務(wù)注冊(cè)與發(fā)現(xiàn)

下載完成后,我們得到一個(gè)壓縮包c(diǎn)onsul_1.6.2_windows_amd64.zip;解壓縮后,得到consul.exe文件,如下圖:

C#使用Consul集群進(jìn)行服務(wù)注冊(cè)與發(fā)現(xiàn)

因?yàn)槲覀円褂妹钚衼磉\(yùn)行consul,所以,我們將consul.exe所在的目錄添加進(jìn)環(huán)境變量,這樣,當(dāng)我們?cè)贑MD窗口中執(zhí)行consul的相關(guān)命令時(shí),系統(tǒng)就會(huì)自動(dòng)將這個(gè)些命令發(fā)送給consul.exe文件執(zhí)行了。

配置環(huán)境變量如下圖所示:

C#使用Consul集群進(jìn)行服務(wù)注冊(cè)與發(fā)現(xiàn)

配置完環(huán)境變量,我們打開一個(gè)cmd的命令行窗口,然后輸入consul來確認(rèn)我們的環(huán)境變量是否配置成功,如下圖:

C#使用Consul集群進(jìn)行服務(wù)注冊(cè)與發(fā)現(xiàn)

看到圖中的信息,就代表我們的consul的環(huán)境變量配置成功了,已經(jīng)可以運(yùn)行了。

接下來,我們?cè)谶@個(gè)cmd窗體中輸入consul的命令來啟動(dòng)consul服務(wù)器代理,命令如下:

命令解釋如下:

consul agent -server -ui -bootstrap-expect=1 -data-dir=/tmp/consul -node=consul-1 -client=0.0.0.0 -bind=192.168.1.111 -datacenter=dc1

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

文章題目:C#使用Consul集群進(jìn)行服務(wù)注冊(cè)與發(fā)現(xiàn)-創(chuàng)新互聯(lián)
當(dāng)前鏈接:http://muchs.cn/article14/dchpde.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、網(wǎng)站策劃ChatGPT、搜索引擎優(yōu)化網(wǎng)站建設(shè)、小程序開發(fā)

廣告

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

成都app開發(fā)公司