国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Docker-consul容器服務自動發(fā)現(xiàn)與注冊

這篇具有很好參考價值的文章主要介紹了Docker-consul容器服務自動發(fā)現(xiàn)與注冊。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

docker consul 容器的自動發(fā)現(xiàn)與注冊。

什么叫做微服務(容器)注冊與發(fā)現(xiàn)

是一種分布式管理系統(tǒng),定位服務的方法。

在傳統(tǒng)架構中,應用程序之間直連到已知的服務,設備提供的網絡:ip網絡,基于tcp/ip:端口

由于現(xiàn)代微服務部署,服務的動態(tài)性,數(shù)量增加了,傳統(tǒng)的基于ip+端口的形式已經不太適用。

服務注冊以及發(fā)現(xiàn):微服務的位置信息(ip+端口+健康狀況)統(tǒng)一注冊到一個中心化的服務注冊表中。

可以允許其他服務動態(tài)的查詢和發(fā)現(xiàn)這些服務

Docker-consul容器服務自動發(fā)現(xiàn)與注冊,docker,consul,容器

服務注冊:當一個服務啟動時,會把自己的元數(shù)據(ip 端口 服務名稱 健康狀態(tài))注冊到服務注冊表中。

這個注冊表的服務(consul,zookeeper),也可以在云平臺部署。

服務發(fā)現(xiàn):其他服務需要和這個服務通信時,只需要向注冊表查詢服務位置信息(ip+端口),這樣的話可以直接在服務注冊表中,直接獲取我要的信息,不需要到靜態(tài)配置查看了。

服務注冊于發(fā)現(xiàn)的有點:

  1. 動態(tài)性,可以在運行時動態(tài)添加和移除服務,不需要額外的人工操縱和配置。
  2. 彈性:一旦某個服務不可用,服務注冊表可以及時更新,通知其他服務避免請求的失敗。
  3. 可擴展:適應不斷變化的服務數(shù)量。
  4. 服務方調用時,透明性,前段和后端實現(xiàn)解耦

服務注冊與發(fā)現(xiàn)機制和其他的工具配合使用,負載均衡,健康檢查,配置管理(一鍵同步)。

微服務架構中非常重要的組件。

consul:

consul是HashiCrop公司開發(fā)的一套工具,用于實現(xiàn)服務發(fā)現(xiàn)與注冊,配置管理,分布式的系統(tǒng)協(xié)調。

consul的主要特點:

1.服務發(fā)現(xiàn)與自動注冊,位置信息(ip+端口+服務名稱)

2.健康檢查,服務注冊到consul,一并加入系統(tǒng)的還有他的健康狀態(tài),定期發(fā)送一個心跳檢查,如果服務掛了,consul會自動移除。

3.分布式鎖: consul提供了一個分布式鎖的功能,協(xié)調多個節(jié)點之間的操作,防止競爭條件和數(shù)據沖突。

每一個服務的發(fā)現(xiàn)和注冊都是一個會話session

微服務在注冊到consul的時候,consul會和這個服務的會話創(chuàng)建一個鎖,鎖用來標識具體的服務器。會話和鎖之間關聯(lián)。

獲取鎖:微服務2,建立會話,獲取鎖,如果申請的鎖沒有被使用,客戶端成功獲取,如果已經存在.表示已有其他的服務在占用,會給你分配一個新的鎖(KV存儲)

釋放鎖:任務完成或者服務斷開了連接,會把鎖釋放,刪除會話和鎖之間的關系。刪除與鎖關聯(lián)的鍵。實現(xiàn)資源的釋放。

4.KV存儲:key-value分布式的鍵值對存儲系統(tǒng),存儲配置信息,鎖,特性。應用程序可以使用consul的鍵值對信息來動態(tài)的獲取配置信息。

5.多數(shù)據中心支持,consul可以在多個地域部署,可以數(shù)據中心之間的發(fā)現(xiàn)和注冊功能。

6.DNS和IHTTP APl: Consul支持DNS接口,通過域名解析定位服務的位置,htte api:通過APL應用接口,可以調用consul的信息。服務信息.,健康檢查等等

7.事件通知,如有關鍵信息可以隨時獲取通知。

docker-consul部署和搭建

ocker1 ?20.0.0.41 ?docker-ce nginx二進制 ?consul-template(自動發(fā)現(xiàn)和自動配置)

docker2 ?20.0.0.42 ?registrator 運行注冊機制和微服務容器服務

docker3 ?20.0.0.43 ?consul多節(jié)點服務器加入到consul集群中

docker1

mkdir consul

cp consul_0.9.2_linux_amd64.zip consul/

unzip consul_0.9.2_linux_amd64.zip

mv consul /usr/local/bin/

consul agent \

-server \

-bootstrap \

-ui \

-data-dir=/var/lib/consul-data \

-bind=20.0.0.41 \

-client=0.0.0.0 \

-node=consul-server01 &> /var/log/consul.log &

#-server:指定集群當中的服務器節(jié)點,consul的RAFT算法實現(xiàn)分布式結構中節(jié)點的一致性。集群當中的成員.直接成為集群的leader,后續(xù)加入的服務都是follower

#-bootstrap:表示該節(jié)點是引導接待你,引導選組過程,以及為后續(xù)加入的server做引導,加入集群。

#-ui:啟動圖形化界面

#-data-dir=/var/lib/consul-data:指定consul存儲數(shù)據的路徑

#-bind=20.0.0.41:指定consul服務端綁定的IP地址,實現(xiàn)在節(jié)點中通信

#-client=0.0.0.0:客戶端的地址0.0.0.0:表示所有主機都可以和server建立通信。(生產中是指定的服務器)

#-node=consul-server01:指定consul節(jié)點的名稱。在集群當中consul節(jié)點的名稱都是唯一的不可以重復的。

# &> /var/log/consul.log:重定向混合的方式保存到log文件

#&:后臺運行

netstat -antp | grep consul

#8300:raft協(xié)議的端口,保持分布式集群的一致性,端口處理復制和領導者選舉

#8301:LAN Gossip的端口,局域網內部進行節(jié)點的通信和信息傳播的協(xié)議

#8302:Wan Gossip的端口。廣域網內節(jié)點的通信和信息傳播的協(xié)議

#8500:webui的端口。用來訪問consul的圖形化界面

#8600:DNS解析的端口。

consul members

#查看集群信息

consul operator raft list-peers

curl 127.0.0.1:8500/v1/status/peers

#查看集群的server成員

curl 127.0.0.1:8500/v1/status/leader

#查看集群中的領導者

curl 127.0.0.1:8500/v1/catalog/services

#查看以及被集權發(fā)現(xiàn)和注冊的服務

curl 127.0.0.1:8500/v1/catalog/nodes

#查看集群節(jié)點的詳細信息。

consul info | grep leader

#查看領導者是否工作

docker2服務端

創(chuàng)建自動發(fā)現(xiàn)和注冊的容器

docker run -d \

--name=registrator \

-v /var/run/docker.sock:/tmp/docker.sock \

--restart=always \

gliderlabs/registrator:latest \

--ip=20.0.0.42 \

consul://20.0.0.41:8500

#-v /var/run/docker.sock:/tmp/docker.sock:docker.sock的是docker守護進程的UNIX的套接字文件,把他映射到容器當中,registrator容器可以監(jiān)聽docker的所有事件,并且完成自動注冊服務。

#--ip=20.0.0.42:注冊consul的ip地址

#consul://20.0.0.41:8500:所有發(fā)現(xiàn)的服務都會注冊到指定的server節(jié)點。

如果網頁查看不到可以使用這個命令

docker run -d \

--name=registrator \

--net=host \

-v /var/run/docker.sock:/tmp/docker.sock \

--restart=always \

gliderlabs/registrator:latest \

--ip=20.0.0.42 \

consul://20.0.0.41:8500

docker run -itd -p 81:80 --name tets-1 -h test1 nginx

docker run -itd -p 82:80 --name tets-2 -h test2 httpd

到頁面訪問測試:20.0.0.41:8500

docker1

mkdir consul

cp consul_0.9.2_linux_amd64.zip consul/

unzip consul_0.9.2_linux_amd64.zip

mv consul /usr/local/bin/

consul agent \

-server \

-bootstrap \

-ui \

-data-dir=/var/lib/consul-data \

-bind=20.0.0.41 \

-client=0.0.0.0 \

-node=consul-server01 &> /var/log/consul.log &

#-server:指定集群當中的服務器節(jié)點,consul的RAFT算法實現(xiàn)分布式結構中節(jié)點的一致性。集群當中的成員.直接成為集群的leader,后續(xù)加入的服務都是follower

#-bootstrap:表示該節(jié)點是引導接待你,引導選組過程,以及為后續(xù)加入的server做引導,加入集群。

#-ui:啟動圖形化界面

#-data-dir=/var/lib/consul-data:指定consul存儲數(shù)據的路徑

#-bind=20.0.0.41:指定consul服務端綁定的IP地址,實現(xiàn)在節(jié)點中通信

#-client=0.0.0.0:客戶端的地址0.0.0.0:表示所有主機都可以和server建立通信。(生產中是指定的服務器)

#-node=consul-server01:指定consul節(jié)點的名稱。在集群當中consul節(jié)點的名稱都是唯一的不可以重復的。

# &> /var/log/consul.log:重定向混合的方式保存到log文件

#&:后臺運行

netstat -antp | grep consul

#8300:raft協(xié)議的端口,保持分布式集群的一致性,端口處理復制和領導者選舉

#8301:LAN Gossip的端口,局域網內部進行節(jié)點的通信和信息傳播的協(xié)議

#8302:Wan Gossip的端口。廣域網內節(jié)點的通信和信息傳播的協(xié)議

#8500:webui的端口。用來訪問consul的圖形化界面

#8600:DNS解析的端口。

consul members

#查看集群信息

consul operator raft list-peers

curl 127.0.0.1:8500/v1/status/peers

#查看集群的server成員

curl 127.0.0.1:8500/v1/status/leader

#查看集群中的領導者

curl 127.0.0.1:8500/v1/catalog/services

#查看以及被集權發(fā)現(xiàn)和注冊的服務

curl 127.0.0.1:8500/v1/catalog/nodes

#查看集群節(jié)點的詳細信息。

consul info | grep leader

#查看領導者是否工作

docker2服務端

創(chuàng)建自動發(fā)現(xiàn)和注冊的容器

docker run -d \

--name=registrator \

-v /var/run/docker.sock:/tmp/docker.sock \

--restart=always \

gliderlabs/registrator:latest \

--ip=20.0.0.42 \

consul://20.0.0.41:8500

#-v /var/run/docker.sock:/tmp/docker.sock:docker.sock的是docker守護進程的UNIX的套接字文件,把他映射到容器當中,registrator容器可以監(jiān)聽docker的所有事件,并且完成自動注冊服務。

#--ip=20.0.0.42:注冊consul的ip地址

#consul://20.0.0.41:8500:所有發(fā)現(xiàn)的服務都會注冊到指定的server節(jié)點。

如果網頁查看不到可以使用這個命令

docker run -d \

--name=registrator \

--net=host \

-v /var/run/docker.sock:/tmp/docker.sock \

--restart=always \

gliderlabs/registrator:latest \

--ip=20.0.0.42 \

consul://20.0.0.41:8500

docker run -itd -p 81:80 --name tets-1 -h test1 nginx

docker run -itd -p 82:80 --name tets-2 -h test2 httpd

到頁面訪問測試:20.0.0.41:8500

docker2

Docker-consul容器服務自動發(fā)現(xiàn)與注冊,docker,consul,容器

Docker-consul容器服務自動發(fā)現(xiàn)與注冊,docker,consul,容器

Docker-consul容器服務自動發(fā)現(xiàn)與注冊,docker,consul,容器

實現(xiàn)自動化更新文件

是HashiCrop公司開發(fā)的一個工具,用于consul集成,自定更新配置文件,實現(xiàn)配置管理的自動化。

作用:

1.動態(tài)的配置更新。consul-template監(jiān)控consul當中key-vlaue的存儲鍵值對,鍵值對發(fā)生變化,會自動更新配置文件。無需重啟服務

2.支持多種后端的模版: nginx配置,ETCD等等

Docker-consul容器服務自動發(fā)現(xiàn)與注冊,docker,consul,容器

Docker-consul容器服務自動發(fā)現(xiàn)與注冊,docker,consul,容器

docker2

Docker-consul容器服務自動發(fā)現(xiàn)與注冊,docker,consul,容器

回到docker1查看外部服務信息

Docker-consul容器服務自動發(fā)現(xiàn)與注冊,docker,consul,容器

瀏覽器訪問

Docker-consul容器服務自動發(fā)現(xiàn)與注冊,docker,consul,容器

Docker-consul容器服務自動發(fā)現(xiàn)與注冊,docker,consul,容器

負載均衡實現(xiàn)

docker3

Docker-consul容器服務自動發(fā)現(xiàn)與注冊,docker,consul,容器

回到docker1

Docker-consul容器服務自動發(fā)現(xiàn)與注冊,docker,consul,容器

回到docker2

Docker-consul容器服務自動發(fā)現(xiàn)與注冊,docker,consul,容器

Docker-consul容器服務自動發(fā)現(xiàn)與注冊,docker,consul,容器

回到頁面查看

Docker-consul容器服務自動發(fā)現(xiàn)與注冊,docker,consul,容器

總結:

docker consul的核心就是是發(fā)現(xiàn),微服務,可以動態(tài)的管理

docker-consul:查,看,元數(shù)據:ip 端口健康狀態(tài)服務名

consul-template:自動化管理配置文件的工具,獲取consul當中注冊的服務信息,可以自動的添加到配置文件當中,及時生效,無須重啟服務

consul的多節(jié)點:一旦選舉出了leader,后續(xù)的服務器都是follower.server的名稱不能重復,唯一.但是可以在一個數(shù)據中心。文章來源地址http://www.zghlxwxcb.cn/news/detail-820072.html

到了這里,關于Docker-consul容器服務自動發(fā)現(xiàn)與注冊的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Docker容器:docker consul的注冊與發(fā)現(xiàn)及consul-template

    Docker容器:docker consul的注冊與發(fā)現(xiàn)及consul-template

    (1)服務注冊與發(fā)現(xiàn)是微服務架構中不可或缺的重要組件。 (2)為解決服務都是單節(jié)點的,不保障高可用性,也不考慮服務的壓力承載,服務之間調用單純的通過接口訪問的問題 (1)consul是google開源的一個使用go語言開發(fā)的服務管理軟件。支持多數(shù)據中心、分布式高可用的

    2024年02月11日
    瀏覽(18)
  • 容器(第七篇)docker-consul

    容器(第七篇)docker-consul

    consul服務器: 1. 建立 Consul 服務 mkdir /opt/consul cp consul_0.9.2_linux_amd64.zip /opt/consul cd /opt/consul unzip consul_0.9.2_linux_amd64.zip mv consul /usr/local/bin/ //設置代理,在后臺啟動 consul 服務端 consul agent -server -bootstrap -ui -data-dir=/var/lib/consul-data -bind=192.168.80.15 -client=0.0.0.0 -node=consul

    2024年02月08日
    瀏覽(23)
  • Docker容器:docker consul的注冊與發(fā)現(xiàn)及consul-template守護進程

    Docker容器:docker consul的注冊與發(fā)現(xiàn)及consul-template守護進程

    (1)服務注冊與發(fā)現(xiàn)是微服務架構中不可或缺的重要組件。 (2)為解決服務都是單節(jié)點的,不保障高可用性,也不考慮服務的壓力承載,服務之間調用單純的通過接口訪問的問題 (1)consul是google開源的一個使用go語言開發(fā)的服務管理軟件。支持多數(shù)據中心、分布式高可用的

    2024年02月11日
    瀏覽(32)
  • docker consul 服務注冊與發(fā)現(xiàn)

    Docker consul的容器服務更新與發(fā)現(xiàn) ------------------------------------ Consul ------------------------------------ (1)什么是服務注冊與發(fā)現(xiàn) 服務注冊與發(fā)現(xiàn)是微服務架構中不可或缺的重要組件。起初服務都是單節(jié)點的,不保障高可用性,也不考慮服務的壓力承載,服務之間調用單純的通過接

    2024年02月09日
    瀏覽(16)
  • Docker+Consul+Registrator 實現(xiàn)服務注冊與發(fā)現(xiàn)

    Docker+Consul+Registrator 實現(xiàn)服務注冊與發(fā)現(xiàn)

    第四階段 時 ?間:2023年8月8日 參加人:全班人員 內 ?容: Docker+Consul+Registrator 實現(xiàn)服務注冊與發(fā)現(xiàn) 目錄 一、服務注冊中心引言 CAP理論是分布式架構中重要理論: 二、服務注冊中心軟件 (一)ZooKeeper (二)Eureka (三)Etcd (四)Consul 常用的服務發(fā)現(xiàn)產品之間的比較: 三

    2024年02月13日
    瀏覽(85)
  • docker容器:Docker consul的容器服務更新與發(fā)現(xiàn)

    docker容器:Docker consul的容器服務更新與發(fā)現(xiàn)

    目錄 一、Docker consul 1、什么是服務注冊與發(fā)現(xiàn) 2、什么是consul 3、consul部署 ①實驗目的 ②實驗環(huán)境及拓撲 ③consul配置 ④registrator后端配置 ⑤測試發(fā)現(xiàn)功能是否正常 4、consul-template部署 ①準備template nginx模板文件 ②編譯安裝nginx ③安裝template 5、驗證template-nginx負載結果 6、測

    2024年02月04日
    瀏覽(22)
  • Docker consul、容器服務更新與發(fā)現(xiàn)

    Docker consul、容器服務更新與發(fā)現(xiàn)

    Consul服務器:192.168.188.17,consul服務,nginx服務,consul-template守護進程 Registrator服務器:192.168.188.11,registrator容器,nginx容器 建立consul服務器 mkdir /opt/consul cp consul_0.9.2_linux_amd64.zip /opt/consul cd /opt/consul unzip consul_0.9.2_linux_amd64.zip mv consul /usr/local/bin/ 設置代理 在后臺啟動consul服務

    2024年01月19日
    瀏覽(29)
  • 【Docker】Consul的容器服務更新與發(fā)現(xiàn)

    【Docker】Consul的容器服務更新與發(fā)現(xiàn)

    服務注冊與發(fā)現(xiàn)是微服務架構中不可或缺的重要組件。起初服務都是單節(jié)點的,不保障高可用性,也不考慮服務的壓力承載,服務之間調用單純的通過接口訪問。直到后來出現(xiàn)了多個節(jié)點的分布式架構,起初的解決手段是在服務前端負載均衡,這樣前端必須要知道所有后端服

    2024年02月15日
    瀏覽(23)
  • Docker 之 Consul容器服務更新與發(fā)現(xiàn)

    Docker 之 Consul容器服務更新與發(fā)現(xiàn)

    服務注冊與發(fā)現(xiàn)是微服務架構中不可或缺的重要組件。起初服務都是單節(jié)點的,不保障高可用性,也不考慮服務的壓力承載,服務之間調用單純的通過接口訪問。直到后來出現(xiàn)了多個節(jié)點的分布式架構,起初的解決手段是在服務前端負載均衡,這樣前端必須要知道所有后端服

    2024年02月15日
    瀏覽(31)
  • Docker consul的容器服務更新與發(fā)現(xiàn)

    Docker consul的容器服務更新與發(fā)現(xiàn)

    什么是服務注冊與發(fā)現(xiàn) 服務注冊與發(fā)現(xiàn)是微服務架構中不可或缺的重要組件。起初服務都是單節(jié)點的,不保障高可用性,也不考慮服務的壓力承載,服務之間調用單純的通過接口訪問。直到后來出現(xiàn)了多個節(jié)點的分布式架構,起初的解決手段是在服務前端負載均衡,這樣前端

    2024年02月08日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包