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

Consul服務(wù)注冊發(fā)現(xiàn)集群搭建

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

Consul 是一種用于服務(wù)發(fā)現(xiàn)、配置和分布式一致性的開源工具和平臺。它由 HashiCorp 公司開發(fā)和維護(hù),旨在簡化構(gòu)建和維護(hù)分布式系統(tǒng)的任務(wù)。

Consul 提供了許多功能,包括:

  1. 服務(wù)發(fā)現(xiàn):Consul允許服務(wù)注冊和發(fā)現(xiàn)。當(dāng)服務(wù)啟動時,它可以向Consul注冊自己的位置和元數(shù)據(jù)。其他服務(wù)可以通過Consul查詢來發(fā)現(xiàn)特定服務(wù)的位置,從而輕松實現(xiàn)服務(wù)之間的通信。

  2. 健康檢查:Consul可以周期性地對服務(wù)進(jìn)行健康檢查,以確保它們正常工作。如果服務(wù)不再健康,則Consul可以自動將其標(biāo)記為不可用,并將流量路由到其他健康的實例。

  3. KV存儲:Consul包含一個分布式鍵/值存儲系統(tǒng),可以用于配置、功能標(biāo)志和其他臨時數(shù)據(jù)的存儲。

  4. 多數(shù)據(jù)中心支持:Consul支持多數(shù)據(jù)中心集群,允許在不同地理位置部署多個Consul集群,并在它們之間進(jìn)行通信和同步。

  5. 一致性保證:Consul使用Raft協(xié)議來確保數(shù)據(jù)的一致性和高可用性。它能夠在節(jié)點故障或網(wǎng)絡(luò)分區(qū)時繼續(xù)正常運行。

  6. DNS接口:Consul提供了一個DNS接口,允許使用域名進(jìn)行服務(wù)發(fā)現(xiàn),而無需依賴專門的服務(wù)發(fā)現(xiàn)庫。

總的來說,Consul是一個強(qiáng)大的工具,可以幫助開發(fā)人員和運維人員構(gòu)建和管理可靠的分布式系統(tǒng),簡化了服務(wù)發(fā)現(xiàn)、配置管理和系統(tǒng)監(jiān)控等任務(wù)。

下載安裝Consul

Consulf官方下載鏈接

Consul服務(wù)注冊發(fā)現(xiàn)集群搭建
選擇對應(yīng)linux 安裝consul

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
sudo yum -y install consul

國內(nèi)加速阿里云Consul v1.18.0備份
驗證


$ consul version
Consul v1.18.0
Revision 349cec17
Build Date 2024-02-26T22:05:50Z
Protocol 2 spoken by default, understands 2 to 3 (agent will automatically use protocol >2 when speaking to compatible agents)

單機(jī)啟動

consul agent -dev -client=0.0.0.0

在運行Consul代理時,你可以通過一些參數(shù)來優(yōu)化命令。這些參數(shù)可以幫助你更好地配置Consul:

  1. 指定數(shù)據(jù)中心:使用 -datacenter 參數(shù)可以指定Consul代理所屬的數(shù)據(jù)中心。例如,-datacenter=mydc。

  2. 指定節(jié)點名稱:使用 -node 參數(shù)可以指定Consul代理的節(jié)點名稱。例如,-node=myagent。

  3. 開啟UI界面:使用 -ui 參數(shù)可以啟動Consul的Web UI界面,方便可視化管理。例如,-ui

  4. 指定日志級別:使用 -log-level 參數(shù)可以指定Consul代理的日志級別。例如,-log-level=info。

  5. 開啟gRPC API:使用 -grpc 參數(shù)可以開啟Consul的gRPC API,允許使用gRPC接口與Consul進(jìn)行交互。例如,-grpc。

  6. 指定綁定地址:使用 -bind 參數(shù)可以指定Consul代理綁定的地址。例如,-bind=192.168.1.100。

  7. 禁用DNS緩存:使用 -disable-host-node-id 參數(shù)可以禁用Consul的DNS緩存。例如,-disable-host-node-id。

綜合使用這些參數(shù),你可以優(yōu)化你的Consul代理命令,使其更適合你的環(huán)境和需求。例如:

consul agent -dev -client=0.0.0.0 -datacenter=mydc -node=myagent -ui -log-level=info -grpc -bind=192.168.1.100 -disable-host-node-id

這個命令將啟動一個綁定到所有接口的Consul代理,使用名為mydc的數(shù)據(jù)中心,節(jié)點名稱為myagent,開啟了Web UI界面、gRPC API,并設(shè)置了日志級別為info。

集群部署

Consul服務(wù)注冊發(fā)現(xiàn)集群搭建

要列出 rpm 安裝 Consul 后所產(chǎn)生的文件,可以使用以下命令

# 查看yum下載安裝consul
rpm -ql consul
/etc/consul.d/consul.env
/etc/consul.d/consul.hcl
/usr/bin/consul
/usr/lib/systemd/system/consul.service

這些文件的功能介紹如下:

  1. /etc/consul.d/consul.env: 這個文件通常用于設(shè)置 Consul 運行時的環(huán)境變量。環(huán)境變量可以影響 Consul 的行為,例如設(shè)置日志級別、數(shù)據(jù)目錄路徑等。在這個文件中,你可以配置一些 Consul 運行時所需的環(huán)境變量。

  2. /etc/consul.d/consul.hcl: 這是 Consul 的主要配置文件。在這個文件中,你可以配置 Consul 的各種選項,包括集群配置、數(shù)據(jù)中心、節(jié)點名稱、綁定地址、廣告地址、加入集群的地址、監(jiān)聽端口、日志設(shè)置等。通過編輯這個文件,你可以定制 Consul 的行為和功能。

  3. /usr/bin/consul: 這是 Consul 的可執(zhí)行文件。通過執(zhí)行這個文件,你可以啟動 Consul Agent,并根據(jù)配置文件中的設(shè)置來運行 Consul。

  4. /usr/lib/systemd/system/consul.service: 這是 Consul 的 Systemd 服務(wù)單元文件。它定義了 Consul 作為 Systemd 服務(wù)的配置,包括服務(wù)的啟動方式、依賴關(guān)系等。通過 Systemd,你可以使用 systemctl 命令來管理 Consul 服務(wù)的啟動、停止、重啟等操作。

這些文件是安裝 Consul 包后在系統(tǒng)上生成的關(guān)鍵文件,用于配置和管理 Consul 的運行。通過修改配置文件,你可以調(diào)整 Consul 的行為,使其適應(yīng)特定的需求和環(huán)境。

編輯Consul配置文件

以下是根據(jù)配置內(nèi)容的重要性和功能進(jìn)行分組,并添加了注釋和適當(dāng)?shù)呐渲眠x項的配置文件示例:

vim /etc/consul.d/consul.hcl

配置文件名為consul.hcl,而 JSON 是另一種格式,通常使用 .json 擴(kuò)展名。如果你要使用 HCL(HashiCorp Configuration Language)格式,你可以像下面這樣編輯:

# Consul 配置文件

# 數(shù)據(jù)中心設(shè)置
datacenter = "dc1"

# 節(jié)點名稱設(shè)置(注意:不可重名)
node_name = "consul-36"

# 數(shù)據(jù)目錄設(shè)置
data_dir = "/opt/consul"

# 日志級別設(shè)置(可選值:TRACE, DEBUG, INFO, WARN, ERR)
log_level = "ERR"

# 綁定地址設(shè)置(監(jiān)聽所有 IPv6 地址和所有 IPv4 地址)
bind_addr = "[::]"
bind_addr = "0.0.0.0"

# 廣播自己地址給集群訪問(用于集群內(nèi)部通信)
advertise_addr = "192.168.3.36"

# 加入集群的地址列表(需要提供至少一個已知的集群節(jié)點地址,:8301默認(rèn)端口可省略)
retry_join = ["192.168.3.39:8301", "192.168.3.53", "192.168.3.54"]
# 用于指定 Consul Agent 在啟動時嘗試通過加入集群節(jié)點。
start_join = ["192.168.3.39", "192.168.3.53", "192.168.3.54"]

# 服務(wù)節(jié)點設(shè)置(是否為服務(wù)器節(jié)點)
server = true
# 這會告訴Consul在引導(dǎo)期間等待2個服務(wù)器節(jié)點就緒,然后再引導(dǎo)整個集群。
bootstrap_expect = 2

# 加密設(shè)置(consul keygen 生成的用于集群網(wǎng)絡(luò)通信的加密)
encrypt = "KUZZ6X4oQhUvXeu+aN1EHL4DVgep8jk4ltflcLQ2DvQ="

# 客戶端地址設(shè)置(用于監(jiān)聽客戶端請求的地址)
client_addr = "0.0.0.0"

# UI 配置(用于啟用內(nèi)置的 Web UI)
ui_config {
enabled = true
content_path = "/ui/" #可自定義路徑
}

# 默認(rèn)端口設(shè)置
ports {
# HTTP API 端口(默認(rèn)值:8500)與 Consul 進(jìn)行交互,包括服務(wù)注冊、UI、健康檢查等
http = 8500
# DNS 端口(默認(rèn)值:8600)用于提供 DNS 查詢服務(wù),允許客戶端通過 DNS 協(xié)議來查詢服務(wù)實例的地址
dns = 8600
# Serf LAN 端口(默認(rèn)值:8301)局域網(wǎng)內(nèi)進(jìn)行集群節(jié)點間的通信
serf_lan = 8301
# Serf WAN 端口(默認(rèn)值:8302) 廣域網(wǎng)(WAN)內(nèi)進(jìn)行集群節(jié)點間的通信,用于跨數(shù)據(jù)中心的通信
serf_wan = 8302
# 服務(wù)器 RPC 端口(默認(rèn)值:8300)服務(wù)器節(jié)點之間進(jìn)行 RPC 通信
server = 8300
}

這個配置文件根據(jù)不同的功能進(jìn)行了分組,并添加了注釋以說明各個配置項的作用和用法。

# 啟動
consul agent -config-file=/etc/consul.d

Consul 會在這個目錄中尋找配置文件并加載。

常用命令

以下是一些常用的 Consul 集群管理命令:

  1. 啟動 Consul Agent:
consul agent -config-file=<config_file>

這個命令用于啟動 Consul Agent,并指定配置文件。

  1. 加入集群:
consul join <address>

這個命令用于將當(dāng)前節(jié)點加入到 Consul 集群中,<address> 是一個已存在的集群節(jié)點的地址。

  1. 離開集群:
consul leave

這個命令用于將當(dāng)前節(jié)點從 Consul 集群中移除。

  1. 查看集群節(jié)點:
consul members

這個命令用于查看當(dāng)前 Consul 集群中的成員節(jié)點列表。

  1. 查看 Leader:
consul operator raft list-peers

這個命令用于列出當(dāng)前的 Consul 集群中的領(lǐng)導(dǎo)者節(jié)點。

  1. 手動推選 Leader:
consul operator raft promote <node_id>

這個命令用于手動推選指定節(jié)點為 Consul 集群的領(lǐng)導(dǎo)者。

  1. 重啟集群節(jié)點:
consul reload

這個命令用于重新加載 Consul 配置文件并重啟 Consul Agent。

  1. 查看服務(wù)列表:
consul catalog services

這個命令用于列出所有在 Consul 中注冊的服務(wù)。

  1. 注冊服務(wù):
consul services register <service.json>

這個命令用于注冊一個新的服務(wù)到 Consul 中,<service.json> 是包含服務(wù)定義的 JSON 文件。

  1. 移除服務(wù):
consul services deregister <service_id>

這個命令用于從 Consul 中移除一個已注冊的服務(wù),<service_id> 是服務(wù)的唯一標(biāo)識符。

這些命令可以幫助你管理和維護(hù) Consul 集群,確保其正常運行并滿足你的需求。文章來源地址http://www.zghlxwxcb.cn/news/detail-844234.html

到了這里,關(guān)于Consul服務(wù)注冊發(fā)現(xiàn)集群搭建的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

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

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

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

    2024年02月13日
    瀏覽(85)
  • Net Core Ocelot+Consul實現(xiàn)網(wǎng)關(guān)、服務(wù)注冊、服務(wù)發(fā)現(xiàn)

    Net Core Ocelot+Consul實現(xiàn)網(wǎng)關(guān)、服務(wù)注冊、服務(wù)發(fā)現(xiàn)

    Ocelot是一個開源的ASP.NET Core微服務(wù)網(wǎng)關(guān),它提供了API網(wǎng)關(guān)所需的所有功能,如路由、認(rèn)證、限流、監(jiān)控等。 Ocelot是一個簡單、靈活且功能強(qiáng)大的API網(wǎng)關(guān),它可以與現(xiàn)有的服務(wù)集成,并幫助您保護(hù)、監(jiān)控和擴(kuò)展您的微服務(wù)。 以下是Ocelot的一些主要功能: 路由管理:Ocelot允許您

    2024年01月21日
    瀏覽(25)
  • Docker-consul容器服務(wù)自動發(fā)現(xiàn)與注冊

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

    docker consul 容器的自動發(fā)現(xiàn)與注冊。 什么叫做微服務(wù)(容器)注冊與發(fā)現(xiàn) 是一種分布式管理系統(tǒng),定位服務(wù)的方法。 在傳統(tǒng)架構(gòu)中,應(yīng)用程序之間直連到已知的服務(wù),設(shè)備提供的網(wǎng)絡(luò):ip網(wǎng)絡(luò),基于tcp/ip:端口 由于現(xiàn)代微服務(wù)部署,服務(wù)的動態(tài)性,數(shù)量增加了,傳統(tǒng)的基于

    2024年01月24日
    瀏覽(20)
  • [golang 微服務(wù)] 5. 微服務(wù)服務(wù)發(fā)現(xiàn)介紹,安裝以及consul的使用,Consul集群

    [golang 微服務(wù)] 5. 微服務(wù)服務(wù)發(fā)現(xiàn)介紹,安裝以及consul的使用,Consul集群

    上一節(jié)講解了使用 gRPC創(chuàng)建微服務(wù),客戶端的一個接口可能需要調(diào)用 N個服務(wù) ,而不同服務(wù)可能存在 不同的服務(wù)器 ,這時,客戶端就必須知道所有服務(wù)的 網(wǎng)絡(luò)位置(ip+port) ,來進(jìn)行連接服務(wù)器操作,如下圖所示: 以往的做法是把 服務(wù)的地址 放在 配置文件 或者 數(shù)據(jù)庫 中,這樣就

    2024年02月08日
    瀏覽(39)
  • 微服務(wù)-服務(wù)的注冊與發(fā)現(xiàn)(Consul、zookeeper、etcd、eureka、Nacos)

    一. 對比常用的注冊中心 Consul、zookeeper、etcd、eureka、Nacos Feature Consul Zookeeper Etcd Eureka Nacos 服務(wù)健康檢查 ?服務(wù)狀態(tài),內(nèi)存,硬盤等 ?(弱)長連接,keepalive ?連接心跳 ?可配支持 傳輸層?(PING?或?TCP)和應(yīng)用層?(如?HTTP、MySQL、用戶自定義)的健康檢查 多數(shù)據(jù)中心 ?支持 ?— ?

    2023年04月19日
    瀏覽(28)
  • 服務(wù)注冊與發(fā)現(xiàn)Eureka、Zookeeper、Consul 三個注冊中心的異同點(CAP理論)

    服務(wù)注冊與發(fā)現(xiàn)Eureka、Zookeeper、Consul 三個注冊中心的異同點(CAP理論)

    Eureka Eureka是由Netflix開源的一個服務(wù)注冊和發(fā)現(xiàn)組件,它主要用于構(gòu)建高可用、分布式系統(tǒng)的基礎(chǔ)設(shè)施中。Eureka的服務(wù)器端被稱為Eureka Server,客戶端則是那些需要注冊的服務(wù)。Eureka具有以下特點: 高可用性 :Eureka支持多節(jié)點部署,能夠在節(jié)點故障時自動進(jìn)行故障轉(zhuǎn)移。 自我

    2024年04月22日
    瀏覽(31)
  • Asp .Net Core 系列:集成 Ocelot+Consul實現(xiàn)網(wǎng)關(guān)、服務(wù)注冊、服務(wù)發(fā)現(xiàn)

    Asp .Net Core 系列:集成 Ocelot+Consul實現(xiàn)網(wǎng)關(guān)、服務(wù)注冊、服務(wù)發(fā)現(xiàn)

    Ocelot是一個開源的ASP.NET Core微服務(wù)網(wǎng)關(guān),它提供了API網(wǎng)關(guān)所需的所有功能,如路由、認(rèn)證、限流、監(jiān)控等。 Ocelot是一個簡單、靈活且功能強(qiáng)大的API網(wǎng)關(guān),它可以與現(xiàn)有的服務(wù)集成,并幫助您保護(hù)、監(jiān)控和擴(kuò)展您的微服務(wù)。 以下是Ocelot的一些主要功能: 路由管理:Ocelot允許您

    2024年01月17日
    瀏覽(24)
  • Docker容器與虛擬化技術(shù):Docker consul 實現(xiàn)服務(wù)注冊與發(fā)現(xiàn)

    Docker容器與虛擬化技術(shù):Docker consul 實現(xiàn)服務(wù)注冊與發(fā)現(xiàn)

    目錄 一、理論 1.Docker consul 二、實驗 1.consul部署 2. consul-template部署 三、總結(jié) (1)服務(wù)注冊與發(fā)現(xiàn) 服務(wù)注冊與發(fā)現(xiàn)是微服務(wù)架構(gòu)中不可或缺的重要組件。起初服務(wù)都是單節(jié)點的,不保障高可用性,也不考慮服務(wù)的壓力承載,服務(wù)之間調(diào)用單純的通過接口訪問。直到后來出現(xiàn)

    2024年02月11日
    瀏覽(26)
  • SpringCloud學(xué)習(xí)筆記(上):服務(wù)注冊與發(fā)現(xiàn):Eureka、Zookeeper、Consul+負(fù)載均衡服務(wù)調(diào)用:Ribbon

    SpringCloud學(xué)習(xí)筆記(上):服務(wù)注冊與發(fā)現(xiàn):Eureka、Zookeeper、Consul+負(fù)載均衡服務(wù)調(diào)用:Ribbon

    SpringCloud=分布式微服務(wù)架構(gòu)的一站式解決方案,是多種微服務(wù)架構(gòu)落地技術(shù)的集合體,俗稱微服務(wù)全家桶。 springboot版本選擇: git源碼地址:https://github.com/spring-projects/spring-boot/releases/ SpringBoot2.0新特性:https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0-Release springcloud版本選

    2024年02月08日
    瀏覽(23)
  • Springboot 實踐(10)spring cloud 與consul配置運用之服務(wù)的注冊與發(fā)現(xiàn)

    ????????前文講解,完成了springboot、spring security、Oauth2.0的繼承,實現(xiàn)了對系統(tǒng)資源的安全授權(quán)、允許獲得授權(quán)的用戶訪問,也就是實現(xiàn)了單一系統(tǒng)的全部技術(shù)開發(fā)內(nèi)容。 ????????Springboot是微服務(wù)框架,單一系統(tǒng)只能完成指定系統(tǒng)的功能;那么多個單一系統(tǒng)是如何實現(xiàn)

    2024年02月12日
    瀏覽(21)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包