成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Swoft之服務注冊發(fā)現(xiàn)Consul服務器配置

SwordFly / 1327人閱讀

摘要:關(guān)于推薦使用的就是,是一個使用寫的服務注冊發(fā)現(xiàn)配置管理系統(tǒng)。遠程過程調(diào)用,這是一種允許客戶端發(fā)出服務器請求的請求響應機制。

Consul服務器配置

微服務帶來最大的好處就是把整個大項目分割成不同的服務,運行在不同服務器上,實現(xiàn)解耦和分布式處理。微服務雖然有很多好處,但是也會有不好的一方面。任何事物都會有兩面性,在微服務里面運維會是一個很大的難題,如果有一天我們的服務數(shù)量非常的多,然后我們又不知道哪一個服務在什么機器上。可能會有人說這部分直接寫在程序的配置里面就好了,當我們服務少的時候是可以這么做的,也允許這么做,但是在實際當中我們要盡量避免這么做,比如說我們某一個服務,地址換了,那么我們設計的相關(guān)代碼就得修改重新部署;又或者說我們有一天上線一個新服務或者下線一個服務,這時候我們又得修改程序代碼,這是非常不合理的做法。那么有沒有什么可以解決這樣的問題呢?這里就需要用到我們的服務注冊和發(fā)現(xiàn)了。

結(jié)構(gòu)對比 沒有服務注冊發(fā)現(xiàn)的結(jié)構(gòu)

沒有服務發(fā)現(xiàn)的架構(gòu)

上面圖片我們可以看到在沒有服務注冊發(fā)現(xiàn)的時候一個調(diào)用者需要維護多個服務的ip和端口,這是非常不好的做法,當我們服務進行調(diào)整的時候就有可能導致服務調(diào)用失敗,還有服務器更換服務器,上下新服務,都會受到影響。將來某一個服務節(jié)點出現(xiàn)問題,排查對于程序和運維人員來說都是一場很大的災難,因為不知道哪一個節(jié)點出了問題,需要每一臺服務器的去排查。

而當我們有使用服務注冊發(fā)現(xiàn)之后的結(jié)構(gòu)體是什么樣子的呢?

有服務注冊發(fā)現(xiàn)的結(jié)構(gòu)

有服務注冊發(fā)現(xiàn)的結(jié)構(gòu)

我們從上圖可以發(fā)現(xiàn),當我們有注冊中心之后調(diào)用者不需要自己去維護所有服務的信息了,僅需要向注冊中心請求獲取服務,就可以拿到想要的服務信息。這樣當我們的服務有所調(diào)整,或者上線下線服務,都要可以輕松操作,并且可以在注冊中間檢查到服務的健康情況,幫助運維人員快速定位到故障的服務器。

關(guān)于 Consul

Swoft 推薦使用的就是 Consul,Consul是一個使用go寫的服務注冊、發(fā)現(xiàn)、配置管理系統(tǒng)。

Agent:Agent是Consul集群中一個常駐后臺的程序。Agent有兩種模式,一種是服務端,一種是客戶端。所有Agent都可以運行DNS或者HTTP接口,并且負責檢查服務是否存活,和保持服務同步。

Client:Client是一種Agent的運行模式,把所有RPC轉(zhuǎn)發(fā)到Agent服務器的代理者,客戶端會在后臺有一個用最小帶寬消耗把請求轉(zhuǎn)發(fā)到后端的Agent服務,減輕Agent服務器的壓力。

Server:Server是另一種Agent的運行模式,包括使用Raft算法處理數(shù)據(jù),維護集群狀態(tài),響應RPC的請求,與其他集群的server交換數(shù)據(jù)或者遠程數(shù)據(jù)中心。

RPC:遠程過程調(diào)用,這是一種允許客戶端發(fā)出服務器請求的請求/響應機制。

以上是我們本次比較重要的一些概念性的東西。知道每一個組件每一個部分干嘛的我們看以下的配置才會簡單,才會事半功倍。

在 Consul 里面有很多組件,在這里我們暫時使用一個組件就夠了就是agent,對于 Consul 的安裝也是非常簡單的畢竟只有一個二進制文件包,所以直接下載就可以使用了。

安裝步驟

1、登錄官網(wǎng)進行下載,下載地址

wget https://releases.hashicorp.com/consul/1.2.1/consul_1.2.1_linux_amd64.zip
unzip consul_1.2.1_linux_amd64.zip

2、設置環(huán)境變量,如果不設置可以直接把consul執(zhí)行文件移動到/usr/bin目錄下

mv consul /usr/bin

ok, 安裝成功后,我們接下來進行一些配置來啟用consul

Server配置 單機配置

服務器1,IP 192.168.1.100

這種方式適合用于搭建服務調(diào)試使用
consul agent -bootstrap-expect 1 -server -data-dir /data/consul -node=swoft01 -bind=0.0.0.0 -config-dir /etc/consul.d -enable-script-checks=true -datacenter=sunny -client=0.0.0.0 -ui

可以通過 http://192.168.1.100:8500 查看服務信息

集群配置
這種方式適用于生產(chǎn)環(huán)境

服務器1,IP 192.168.1.100

consul agent -bootstrap-expect 2 -server -data-dir /data/consul -node=swoft01 -bind=0.0.0.0 -client=0.0.0.0 -config-dir /etc/consul.d -enable-script-checks=true -datacenter=sunny -client=0.0.0.0

上面這個命令是以服務端模式啟動一個代理,進群有兩個擴展機器,設置集群持久化數(shù)據(jù)存放在/data/consul0下面,節(jié)點名稱是swoft01,綁定0.0.0.0地址,服務配置文件存放在/etc/consul.d,開啟檢查心跳,數(shù)據(jù)中心的名稱是dc1,可訪問的客戶端地址是0.0.0.0

服務器2,IP 192.168.1.110

consul agent -server -data-dir /data/consul -node=swoft02 -bind=0.0.0.0 -client=0.0.0.0 -config-dir /etc/consul.d -enable-script-checks=true -datacenter=sunny -join 192.168.1.100

服務器3,IP 192.168.1.120

consul agent -server -data-dir /data/consul -node=swoft03 -bind=0.0.0.0 -client=0.0.0.0 -config-dir /etc/consul.d -enable-script-checks=true -datacenter=sunny -join 192.168.1.100

以上服務器2和服務3使用 -join 加入集群,并且使用同一個數(shù)據(jù)名稱 sunny

Client配置

服務器4,IP 192.168.1.130

consul agent -ui -data-dir /data/consul -node=swoft04 -bind=0.0.0.0 -config-dir /etc/consul.d -enable-script-checks=true -datacenter=sunny -ui -client=0.0.0.0 -join 192.168.1.100

客戶端如果不使用-server就是客戶端模式運行,其他參數(shù)同上,服務端和客戶端都啟動了之后可以在瀏覽器輸入 http://192.168.1.130:8500 來查看信息

查看集群成員:

consul members

查看集群信息:

consul info
命令解析

更多命令解析

-bootstrap-expect 數(shù)據(jù)中心中預期的服務器數(shù)。不應提供此值,或者該值必須與群集中的其他服務器一致。提供后,Consul將等待指定數(shù)量的服務器可用,然后引導群集。這允許自動選擇初始領(lǐng)導者。這不能與傳統(tǒng)-bootstrap標志一起使用。此標志需要在服務端模式下運行。

-server 以服務端模式啟動

-data-dir 數(shù)據(jù)存放位置,這個用于持久化保存集群狀態(tài)

-node 群集中此節(jié)點的名稱。這在群集中必須是唯一的。默認情況下,這是計算機的主機名。

-bind 綁定服務器的ip地址

-config-dir 指定配置文件服務,當這個目錄下有 .json 結(jié)尾的文件就會加載進來,更多配置可以參考 配置模版

-enable-script-checks 檢查服務是否處于活動狀態(tài),類似開啟心跳

-datacenter 數(shù)據(jù)中心名稱

-client 客戶端可訪問ip,包括HTTP和DNS服務器。默認情況下,這是“127.0.0.1”,僅允許環(huán)回連接。

-ui 開啟web的ui界面

-join加入到已有的集群中

關(guān)于consul更多的信息請大家移步到 Consul官網(wǎng)

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/29093.html

相關(guān)文章

  • Swoft 源碼解讀

    摘要:官網(wǎng)源碼解讀號外號外歡迎大家我們開發(fā)組定了一個就線下聚一次的小目標里面的框架算是非常重的了這里的重先不具體到性能層面主要是框架的設計思想和框架集成的服務讓框架可以既可以快速解決很多問題又可以輕松擴展中的框架有在應該無出其右了這次解讀的源碼 官網(wǎng): https://www.swoft.org/源碼解讀: http://naotu.baidu.com/file/8... 號外號外, 歡迎大...

    weij 評論0 收藏0
  • Spring Cloud Consul Greenwich版本全攻略

    摘要:在我們的文檔中,我們使用來表明就選舉和事務的順序達成一致。提供成員關(guān)系,故障檢測和事件廣播。這是一個允許請求的請求響應機制。這包括服務發(fā)現(xiàn),還包括豐富的運行狀況檢查,鎖定,鍵值,多數(shù)據(jù)中心聯(lián)合,事件系統(tǒng)和。 轉(zhuǎn)載請標明出處: http://blog.csdn.net/forezp/a...本文出自方志朋的博客 什么是Consul Consul是HashiCorp公司推出的開源軟件,使...

    qingshanli1988 評論0 收藏0
  • 2021 年最新基于 Spring Cloud 的微服務架構(gòu)分析

    摘要:是一個相對比較新的微服務框架,年才推出的版本雖然時間最短但是相比等框架提供的全套的分布式系統(tǒng)解決方案。提供線程池不同的服務走不同的線程池,實現(xiàn)了不同服務調(diào)用的隔離,避免了服務器雪崩的問題。通過互相注冊的方式來進行消息同步和保證高可用。 Spring Cloud 是一個相對比較新的微服務框架,...

    cikenerd 評論0 收藏0
  • Spring Cloud構(gòu)建微服務架構(gòu):服務注冊發(fā)現(xiàn)(Eureka、Consul)【Dalston

    摘要:屬性對應服務注冊中心的配置內(nèi)容,指定服務注冊中心的位置。項目是針對的服務治理實現(xiàn)。下面可以嘗試讓的服務提供者運行起來。我們可以用下面的命令啟動的開發(fā)模式服務端啟動完成之后,我們再將之前改造后的服務提供者啟動起來。 已經(jīng)有非常長的時間沒有更新《Spring Cloud構(gòu)建微服務架構(gòu)》系列文章了,自從開始寫Spring Cloud的專題內(nèi)容開始就獲得了不少的閱讀量和認可,當然也有一些批評...

    djfml 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<