Spring Cloud 與Consul集群發(fā)布

一、Consul集群部署

下載地址: https://www.consul.io/downloads
在三臺(tái)linux主機(jī)上分別上傳并解壓consul安裝包,并啟動(dòng)對(duì)應(yīng)的注冊(cè)中心脸秽。
注意: 需要把100茬缩、101离赫、102主機(jī)防火墻關(guān)閉或者打開(kāi)對(duì)應(yīng)的端又癞尚。

1.1禾乘、192.168.1.100
$ cd /home/
$ mkdir /domain
# 上傳consul安裝包到/home/domain
$ unzip consul_1.12.3_linux_amd64.zip
$ ./consul agent -server -bootstrap-expect 3 -data-dir /etc/consul.d -node=server-1 -bind=192.168.1.100 -datacenter=ijep -ui - client=0.0.0.0 &
# 集群狀態(tài)查看
$ consul operator raft list-peers
# 查看成員信息
$ consul members
1.2韭邓、192.168.1.101
$ cd /home/
$ mkdir /domain
# 上傳consul安裝包到/home/domain
$ unzip consul_1.12.3_linux_amd64.zip
$ ./consul agent -server -bootstrap-expect 3 -data-dir /etc/consul.d -node=server-2 -bind=192.168.1.101 -datacenter=ijep -ui - client=0.0.0.0 &
# 將當(dāng)前服務(wù)和100主機(jī)組成集群服務(wù)
$ ./consul join 192.168.1.100
# 集群狀態(tài)查看
$ ./consul operator raft list-peers
# 查看成員信息
$ ./consul members
1.3措近、192.168.1.102
$ cd /home/
$ mkdir /domain
# 上傳consul安裝包到/home/domain
$ unzip consul_1.12.3_linux_amd64.zip
$ ./consul agent -server -bootstrap-expect 3 -data-dir /etc/consul.d -node=server-3 -bind=192.168.1.102 -datacenter=ijep -ui - client=0.0.0.0 &
# 將當(dāng)前服務(wù)和100主機(jī)組成集群服務(wù)
$ ./consul join 192.168.1.100
# 集群狀態(tài)查看
$ consul operator raft list-peers
# 查看成員信息
$ consul members
1.4、控制臺(tái)查看集群 http://192.168.1.100:8500/ui/

image.png

查看集群節(jié)點(diǎn)效果是一樣的
image.png

二女淑、應(yīng)用集群部署

2.1瞭郑、需要先部署Consul Client

Server:有數(shù)量限制,主要用于服務(wù)查找鸭你;
Client:可以部署無(wú)限多屈张,沒(méi)有限制擒权;

$ cd /home/
$ mkdir /domain
# 上傳consul安裝包到/home/domain
$ unzip consul_1.12.3_linux_amd64.zip
$ ./consul agent -client=0.0.0.0 -data-dir /Users/houyinke/project/work/server/consul_data/consul.d -datacenter=ijep -bind=172.22.90.33 -node=client-2  -enable-script-checks=true 
# 將當(dāng)前服務(wù)和100主機(jī)組成集群服務(wù)
$ ./consul join 192.168.1.100
# 集群狀態(tài)查看
$ consul operator raft list-peers
# 查看成員信息
$ consul members
2.2、應(yīng)用集群配置請(qǐng)采用以下配置阁谆,服務(wù)中網(wǎng)關(guān)碳抄、系統(tǒng)服務(wù)、工作流笛厦、演示服務(wù)均采用一下配 置纳鼎,配置多節(jié)點(diǎn)consul。
cloud:
  consul: #consul注冊(cè)中心
    # 單機(jī)配置
    #host: localhost
    #port: 8500
    # 集群配置裳凸,配置Client客戶端IP
    host: 172.22.82.66 
    prot: 8500
    service-name: ijep-service-priv 
    health-check-path: /actuator/health 
    health-check-interval: 1s 
    heartbeat: # 開(kāi)啟心跳監(jiān)測(cè)
      enabled: true
    ip-address: 192.168.1.123 # 當(dāng)前微服務(wù)ip 
    prefer-ip-address: true # 開(kāi)啟ip地址注冊(cè)
    instance-id: ${spring.application.name}:${spring.cloud.client.ip-address}

三贱鄙、參數(shù)詳解

-advertise: 通知展現(xiàn)地址用來(lái)改變我們給集群中的其他節(jié)點(diǎn)展現(xiàn)的地址,默認(rèn)情況下- bind地址就是展現(xiàn)地址姨谷,然而也存在一些路由地址是不能受約束的逗宁,這時(shí)候會(huì)激活一個(gè)不同的 地址來(lái)供應(yīng),如果這個(gè)地址不能路由梦湘,這個(gè)路由將不能被加入集群

-bootstrap:用來(lái)控制一個(gè)server是否在bootstrap模式瞎颗,在一個(gè)datacenter中只能有 一個(gè)server處于bootstrap模式,當(dāng)一個(gè)server處于bootstrap模式時(shí)捌议,可以自己選舉為 raft leader哼拔,在一個(gè)節(jié)點(diǎn)的模式下這種方式很重要,否則在集群中的一致性不能保證瓣颅,不推 薦在集群中應(yīng)用這個(gè)標(biāo)識(shí)

-bootstrap-expect:在一個(gè)datacenter中期望提供的server節(jié)點(diǎn)數(shù)目倦逐,當(dāng)該值提供的時(shí) 候,consul一直等到達(dá)到指定sever數(shù)目的時(shí)候才會(huì)引導(dǎo)整個(gè)集群宫补,該標(biāo)記不能和 bootstrap公用(推薦使用的方式)

-bind:該地址用來(lái)在集群內(nèi)部的通訊檬姥,集群內(nèi)的所有節(jié)點(diǎn)到地址都必須是可達(dá)的,默認(rèn)是 0.0.0.0粉怕,這意味著Consulo會(huì)使用第一個(gè)可用的私有IP地址健民,Consul可以使用TCP和UDP并 且可以使用共同的端口,如果存在防火墻贫贝,這兩者協(xié)議必須是允許的秉犹。

-client:consul綁定在哪個(gè)client地址上,這個(gè)地址提供HTTP稚晚、DNS凤优、RPC等服務(wù),默認(rèn) 是127.0.0.1蜈彼,只允許回路連接筑辨。RPC地址用于Consul命令,比如Consul members可以查 詢當(dāng)前運(yùn)行的Consul代理

-config-file:明確的指定要加載哪個(gè)配置文件幸逆,文件下的所有配置會(huì)合并在一起進(jìn)行加載 -config-dir:配置文件目錄棍辕,里面所有以.json結(jié)尾的文件都會(huì)被加載

-data-dir:提供一個(gè)目錄用來(lái)存放agent的狀態(tài)暮现,所有的agent允許都需要該目錄,該目錄 必須是穩(wěn)定的楚昭,系統(tǒng)重啟后都繼續(xù)存在

-dc:該標(biāo)記控制agent運(yùn)行的datacenter的名稱栖袋,默認(rèn)是dc1 -encrypt:指定secret key,使consul在通訊時(shí)進(jìn)行加密抚太,key可以通過(guò)consul keygen生成塘幅,同一個(gè)集群中的節(jié)點(diǎn)必須使用相同的key

-http-port:HTTP API偵聽(tīng)端口,默認(rèn)端口8500,可以在環(huán)境變量中進(jìn)行設(shè)置尿贫,非常有用电媳, 可以用于與Consul進(jìn)行通訊

-join:加入一個(gè)已經(jīng)啟動(dòng)的agent的ip地址,可以多次指定多個(gè)agent的地址庆亡。如果consul 不能加入任何指定的地址中匾乓,則agent會(huì)啟動(dòng)失敗,默認(rèn)agent啟動(dòng)時(shí)不會(huì)加入任何節(jié)點(diǎn)又谋。

-retry-join:和join類似拼缝,但是允許你在第一次失敗后進(jìn)行嘗試。 -retry-interval:兩次join之間的時(shí)間間隔彰亥,默認(rèn)是30s -retry-max:嘗試重復(fù)join的次數(shù)咧七,默認(rèn)是0,也就是無(wú)限次嘗試

-log-level:consul agent啟動(dòng)后顯示的日志信息級(jí)別任斋。默認(rèn)是info继阻,可選:trace、 debug仁卷、info穴翩、warn犬第、err锦积。跟蹤 調(diào)試 詳情 警告 錯(cuò)誤,可以通過(guò)Consul monitor使用 任何級(jí)別歉嗓,也可以通過(guò)重啟加載新的配置級(jí)別

-node:節(jié)點(diǎn)在集群中的名稱丰介,在一個(gè)集群中必須是唯一的,默認(rèn)是該節(jié)點(diǎn)的主機(jī)名(代表一 個(gè)機(jī)器)

-pid-file:提供一個(gè)路徑來(lái)存放pid文件鉴分,可以使用該文件進(jìn)行SIGINT/SIGHUP(關(guān)閉/更 新)agent

-protocol:consul使用的協(xié)議版本 consul -v -rejoin:使consul忽略先前的離開(kāi)哮幢,在再次啟動(dòng)后仍舊嘗試加入集群中。

-server:定義agent運(yùn)行在server模式還是Client模式志珍,提供時(shí)即為Server端橙垢,每個(gè)集 群至少有一個(gè)server并且每臺(tái)機(jī)器上不要超過(guò)5個(gè)dataceter.所有服務(wù)器采用一致性算法 Raft保證數(shù)據(jù)一致,確保在故障的情況下的可用性。

-syslog:開(kāi)啟系統(tǒng)日志功能伦糯,只在linux/osx上生效 -ui-dir: 提供存放web ui資源的路徑柜某,該目錄必須是可讀的

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末嗽元,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子喂击,更是在濱河造成了極大的恐慌剂癌,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,843評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件翰绊,死亡現(xiàn)場(chǎng)離奇詭異佩谷,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)监嗜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門谐檀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人秤茅,你說(shuō)我怎么就攤上這事稚补。” “怎么了框喳?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,187評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵课幕,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我五垮,道長(zhǎng)乍惊,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,264評(píng)論 1 292
  • 正文 為了忘掉前任放仗,我火速辦了婚禮润绎,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘诞挨。我一直安慰自己莉撇,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,289評(píng)論 6 390
  • 文/花漫 我一把揭開(kāi)白布惶傻。 她就那樣靜靜地躺著棍郎,像睡著了一般。 火紅的嫁衣襯著肌膚如雪银室。 梳的紋絲不亂的頭發(fā)上涂佃,一...
    開(kāi)封第一講書(shū)人閱讀 51,231評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音蜈敢,去河邊找鬼辜荠。 笑死,一個(gè)胖子當(dāng)著我的面吹牛抓狭,可吹牛的內(nèi)容都是我干的伯病。 我是一名探鬼主播,決...
    沈念sama閱讀 40,116評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼否过,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼午笛!你這毒婦竟也來(lái)了膨蛮?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,945評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤季研,失蹤者是張志新(化名)和其女友劉穎敞葛,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體与涡,經(jīng)...
    沈念sama閱讀 45,367評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡惹谐,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,581評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了驼卖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片氨肌。...
    茶點(diǎn)故事閱讀 39,754評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖酌畜,靈堂內(nèi)的尸體忽然破棺而出蔓肯,到底是詐尸還是另有隱情螟够,我是刑警寧澤蔓彩,帶...
    沈念sama閱讀 35,458評(píng)論 5 344
  • 正文 年R本政府宣布榄审,位于F島的核電站,受9級(jí)特大地震影響贩虾,放射性物質(zhì)發(fā)生泄漏催烘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,068評(píng)論 3 327
  • 文/蒙蒙 一缎罢、第九天 我趴在偏房一處隱蔽的房頂上張望伊群。 院中可真熱鬧,春花似錦策精、人聲如沸舰始。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,692評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)丸卷。三九已至,卻和暖如春酬蹋,著一層夾襖步出監(jiān)牢的瞬間及老,已是汗流浹背抽莱。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,842評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工范抓, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人食铐。 一個(gè)月前我還...
    沈念sama閱讀 47,797評(píng)論 2 369
  • 正文 我出身青樓匕垫,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親虐呻。 傳聞我的和親對(duì)象是個(gè)殘疾皇子象泵,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,654評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容