涉及到部分應(yīng)用,需要有docker、docker-compose作為基礎(chǔ)環(huán)境的搭建,不會(huì)的可以直接拿項(xiàng)目的docker-compose.yaml進(jìn)行構(gòu)建項(xiàng)目地址
consul介紹
- 服務(wù)發(fā)現(xiàn):通過(guò)DNS或者h(yuǎn)ttp接口進(jìn)行服務(wù)注冊(cè)和發(fā)現(xiàn)
- 健康檢查:
- 動(dòng)態(tài)配置:通過(guò)http接口可以方便的動(dòng)態(tài)修改系統(tǒng)配置
- 安裝
- curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
- sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
- sudo apt-get update && sudo apt-get install consul
- 啟動(dòng) consul agent -server -bootstrap-expect 1 -data-dir /tmp/consul -node=ali -bind=192.168.169.150 -ui -client=0.0.0.0
- server 表示啟動(dòng)的為服務(wù)
- bootstrap-expect 1 表示 等待多少個(gè)節(jié)點(diǎn)再啟動(dòng),1表示有自己一個(gè)就啟動(dòng)
- node= 表示給consul服務(wù)起名
- bind=xx 綁定內(nèi)網(wǎng)ip,最好寫機(jī)器的ip,最好不要寫0.0.0.0
- data-dir 數(shù)據(jù)存儲(chǔ)位置
- ui啟動(dòng)ui界面
- client consul綁定到哪個(gè)client地址上。這個(gè)地址提供http dns rpc服務(wù)。默認(rèn)為127.0.0.1 可指定語(yǔ)序客戶端使用什么ip訪問(wèn)
- 服務(wù)注冊(cè)
- curl -XPUT -d '{"ID":"order_1","Name":"order","Tags":[
"xdp-/core.order"],"Address":"192.168.232.201","Port":18307,"Check":{"name":"order_1.check","tcp":"192.168.232.201:18307","interval":"10s","timeout":"2s"}}' http://127.0.0.1:8500/v1/agent/service/register - Name 服務(wù)名
- ID 服務(wù)id
- curl -XPUT -d '{"ID":"order_1","Name":"order","Tags":[
- 查詢服務(wù)
- curl 192.168.232.204:8500/v1/health/service/order?dc=xdp_dc&passsing=true
- dc: 數(shù)據(jù)中心是xdp_dc 存儲(chǔ)信息記錄
- passing: 表示健康監(jiān)測(cè)通過(guò)
- 服務(wù)注銷 刪除
- /v1/agent/service/deregister/order_1
- 某個(gè)服務(wù)增加了機(jī)器以后,注冊(cè),客戶端請(qǐng)求時(shí),會(huì)查詢服務(wù)進(jìn)行請(qǐng)求