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

Spring Cloud開發(fā)實踐(五): Consul - 服務(wù)注冊的另一個選擇

這篇具有很好參考價值的文章主要介紹了Spring Cloud開發(fā)實踐(五): Consul - 服務(wù)注冊的另一個選擇。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

  • Spring Cloud開發(fā)實踐(一): 簡介和根模塊
  • Spring Cloud開發(fā)實踐(二): Eureka服務(wù)和接口定義
  • Spring Cloud開發(fā)實踐(三): 接口實現(xiàn)和下游調(diào)用
  • Spring Cloud開發(fā)實踐(四): Docker部署
  • Spring Cloud開發(fā)實踐(五): Consul - 服務(wù)注冊的另一個選擇
  • Spring Cloud開發(fā)實踐(六): 基于Consul和Spring Cloud 2021.0的演示項目

關(guān)于 Consul

HashiCorp Consul 是微服務(wù)網(wǎng)絡(luò)解決方案之一, 用于管理跨網(wǎng)絡(luò)和多云環(huán)境服務(wù)之間的安全網(wǎng)絡(luò)連接, 提供服務(wù)發(fā)現(xiàn), 服務(wù)網(wǎng)格, 流量管理和自動更新. 可以單獨部署, 也可以分布式部署.

Consul 的特點

  • CP(強(qiáng)一致性),使用Raft復(fù)制狀態(tài)
  • 服務(wù)可以通過任意Server注冊, 通過 Raft 仲裁
  • 內(nèi)建安全通信選項
  • 一致性提供鎖定和集群協(xié)調(diào)
  • 帶配置功能, 健康檢查, Lock, KV, ACL
  • 通過 DNS 支持非 REST 節(jié)點, 允許更多類型資源連接
  • 使用 Go 語言編寫, 啟動資源消耗小, 只需要50-60MB內(nèi)存, 相對比 Nacos 默認(rèn)配置512M, 啟動需要600M以上內(nèi)存.
  • 腳本化配置, 對容器部署方式更友好

安裝

下載地址 https://developer.hashicorp.com/consul/downloads, 根據(jù)自己的系統(tǒng)選擇對應(yīng)的二進(jìn)制文件, 對應(yīng) Linux AMD64 的, 文件還不小, 50MB, 解壓后只有一個可執(zhí)行文件, 127MB, 將其放到 /opt/consul/ 目錄, 并將owner改為 root:root

運(yùn)行 Agent

Consul 的運(yùn)行形式就是 Agent, 可以運(yùn)行為 server 或 client 模式. Agent 的啟動命令格式為

consul agent <options>

具體的命令參數(shù)可以通過consul agent --help查看, 常用的參數(shù)

  • -bind= 用于cluster通信的地址
  • -client= 用于client訪問的地址, 包含 RPC, DNS, HTTP, HTTPS, gRPC (if configured).
  • -config-dir= 配置文件所在目錄, 讀取所有 .json 后綴的文件作為配置, 可以指定多次
  • -config-file= 配置文件路徑, 可以指定多次
  • -data-dir= 指定agent狀態(tài)數(shù)據(jù)存儲目錄
  • -dev 以開發(fā)模式啟動
  • -log-file= 指定日志文件路徑
  • -log-json 使用JSON格式記錄日志
  • -log-level= 日志級別
  • -log-rotate-bytes= 日志文件字節(jié)數(shù)約束
  • -log-rotate-duration= 日志文件時間跨度
  • -log-rotate-max-files= 日志保留的文件數(shù)
  • -node= 指定本節(jié)點名稱, 在 Cluster 內(nèi)必須唯一
  • -node-id= 指定Node ID, 默認(rèn)為自動生成并記錄到 data-dir
  • -retry-join= 啟動時嘗試加入的 Agent 地址
  • -server 服務(wù)器模式
  • -ui 啟用內(nèi)建的靜態(tài)Web UI界面
  • -ui-content-path= UI界面地址, 默認(rèn)為 /ui/

開發(fā)模式

-dev參數(shù)可以快速創(chuàng)建一個開發(fā)模式的server, 數(shù)據(jù)不保存, Node ID隨機(jī)生成, Node name使用當(dāng)前的hostname, 監(jiān)聽 127.0.0.1, 可以看下面的控制臺輸出, HTTP等服務(wù)使用的是127.0.0.1地址, 只能從本機(jī)訪問

$ consul agent -dev
==> Starting Consul agent...
              Version: '1.15.2'
           Build Date: '2023-03-30 17:51:19 +0000 UTC'
              Node ID: 'ab2e7536-867a-c12f-5bd6-8a825b31af90'
            Node name: 'centos7001'
           Datacenter: 'dc1' (Segment: '<all>')
               Server: true (Bootstrap: false)
          Client Addr: [127.0.0.1] (HTTP: 8500, HTTPS: -1, gRPC: 8502, gRPC-TLS: 8503, DNS: 8600)
         Cluster Addr: 127.0.0.1 (LAN: 8301, WAN: 8302)
    Gossip Encryption: false
     Auto-Encrypt-TLS: false
            HTTPS TLS: Verify Incoming: false, Verify Outgoing: false, Min Version: TLSv1_2
             gRPC TLS: Verify Incoming: false, Min Version: TLSv1_2
     Internal RPC TLS: Verify Incoming: false, Verify Outgoing: false (Verify Hostname: false), Min Version: TLSv1_2

==> Log data will now stream in as it occurs:

2023-05-17T06:31:23.337Z [DEBUG] agent.grpc.balancer: switching server: target=consul://dc1.ab2e7536-867a-c12f-5bd6-8a825b31af90/server.dc1 from=<none> to=<none>

如果在遠(yuǎn)程服務(wù)器上運(yùn)行, 需要加上-client參數(shù), 指定服務(wù)器網(wǎng)口IP地址, 這樣就可以從本地訪問 http://192.168.11.22:8500 的 Web控制臺了

consul agent -dev -client=192.168.11.22

在另一個終端窗口中, 可以通過consul members命令查看節(jié)點, 如果不加-http-addr參數(shù), 默認(rèn)訪問本地127.0.0.1

$ consul members -http-addr=http://192.168.11.22:8500
Node        Address         Status  Type    Build   Protocol  DC   Partition  Segment
centos7001  127.0.0.1:8301  alive   server  1.15.2  2         dc1  default    <all>

通過consul leave停止consul服務(wù)

$ consul leave -http-addr=http://192.168.11.22:8500
Graceful leave complete

單Server模式

如果不使用-dev, 就要手工指定一些參數(shù), 否則啟動會有錯誤

consul agent -ui -server -bootstrap-expect=1 -data-dir=./consul-data -client=192.168.11.22

去掉了 -dev 參數(shù), 增加了三個新參數(shù),

  • -ui 開啟 8500 端口的 web 控制臺, 這個不是必須的
  • -server 和 -bootstrap-expect=1 一起使用, 前者表示用server模式啟動, 后者表示只有一臺服務(wù)器, 可以立即產(chǎn)生leader, 也必須指定. 如果不指定后者, consul會一直等待 leader 的產(chǎn)生

集群模式

集群模式下, 每個 Datacenter 必須至少有一臺 server. 建議是3或5臺, 單server在宕機(jī)時會造成數(shù)據(jù)丟失. 其它 Agent 運(yùn)行為 client 模式.

下面以一臺Server, 一臺Client為例說明

在 11.22 主機(jī)上運(yùn)行 Server

consul agent -ui -server -bootstrap-expect=1 -data-dir=./consul-data -client=192.168.11.22 -bind=192.168.11.22

在 11.23 主機(jī)上運(yùn)行 Client, 并 Join 到 11.22

consul agent -ui -data-dir=./data -client=192.168.11.23 -bind=192.168.11.23 -retry-join=192.168.11.22

Join 成功后, 在兩邊的控制臺上會顯示相應(yīng)信息. 這時候通過consul members可以看到兩個Node:

 /opt/consul/consul members -http-addr=http://192.168.11.22:8500
Node          Address             Status  Type    Build   Protocol  DC   Partition  Segment
centos7001    192.168.11.22:8301   alive   server  1.15.2  2         dc1  default    <all>
54120-nc01    192.168.11.23:8301   alive   client  1.6.1   2         dc1  default    <default>

后臺運(yùn)行

不留日志

nohup /opt/consul/consul agent -ui -server -bootstrap-expect=1 -data-dir=./consul-data -client=192.168.11.22 -bind=192.168.11.22 >/dev/null 2>&1 &

日志輸出到文件

nohup /opt/consul/consul agent -ui -server -bootstrap-expect=1 -data-dir=./consul-data -client=192.168.11.22 -bind=192.168.11.22 >path/to/log/consul.log 2>&1 &

這樣consul會在后臺運(yùn)行, 需要用 consul leave 退出文章來源地址http://www.zghlxwxcb.cn/news/detail-448343.html

參考

  • Eureka vs Consul https://gist.github.com/StevenACoffman/de394d6511a387ada9ab988e33be8583
  • Get Started: Consul Agent https://developer.hashicorp.com/consul/docs/agent
  • Consul建立集群 https://book-consul-guide.vnzmi.com/06_setup_cluster.html

到了這里,關(guān)于Spring Cloud開發(fā)實踐(五): Consul - 服務(wù)注冊的另一個選擇的文章就介紹完了。如果您還想了解更多內(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)文章

  • prometheus + consul  服務(wù)注冊+報警  最佳實踐

    prometheus + consul 服務(wù)注冊+報警 最佳實踐

    本文主要將prometheus和consul 結(jié)合起來使用,通過conusl 注冊服務(wù)至prometheus,實現(xiàn)服務(wù)統(tǒng)一注冊,統(tǒng)一報警管理等。 整個架構(gòu)思路consul+consul_export+prometheus+alertmanager ,consul通過check檢測服務(wù)狀態(tài),然后通過consul_export暴露給prometheus,prometheus通過alert規(guī)則,通知alertmanager,接著郵件

    2024年03月25日
    瀏覽(19)
  • Spring Cloud微服務(wù)在Windows本地開發(fā)時禁用Nacos注冊中心注冊

    Spring Cloud微服務(wù)在Windows本地開發(fā)時禁用Nacos注冊中心注冊

    碼到三十五 : 個人主頁 心中有詩畫,指尖舞代碼,目光覽世界,步履越千山,人間盡值得 ! 本文將介紹如何在Spring Cloud微服務(wù)架構(gòu)中,實現(xiàn)在Windows本地開發(fā)環(huán)境下禁用服務(wù)自動注冊到Nacos注冊中心,而在Linux服務(wù)器環(huán)境下則自動啟用注冊功能。這樣的配置有助于開發(fā)者在本

    2024年03月18日
    瀏覽(107)
  • Spring Cloud之Consul服務(wù)治理實戰(zhàn)

    Spring Cloud之Consul服務(wù)治理實戰(zhàn)

    目錄 1、Consul是什么 1.1概念 1.2 Consul下載 1.3 Consul啟動 2、Consul使用場景 3、Consul優(yōu)勢 4、Consul架構(gòu)及原理 4.1 整體架構(gòu)圖 4.2 通訊機(jī)制 4.3 健康檢測 4.4如何保證數(shù)據(jù)一致性 5、搭建Consul環(huán)境 5.1 本地Consul搭建 5.2 集群Consul搭建 5.2.1 安裝Consul 5.2.2 啟動各?Consul Server節(jié)點 5.2.3 組成集

    2023年04月09日
    瀏覽(88)
  • spring boot 服務(wù)健康檢測返回OUT_OF_SERVICE,導(dǎo)致服務(wù)無法成功注冊到consul

    spring boot 服務(wù)健康檢測返回OUT_OF_SERVICE,導(dǎo)致服務(wù)無法成功注冊到consul

    健康檢測接口返回OUT_OF_SERVICE 從日志啟動看,沒有任何報錯信息;而且jvm進(jìn)程也啟動成功。 關(guān)鍵的一點信息是,服務(wù)的swagger地址訪問也正常。 但是,consul上的服務(wù)狀態(tài)就是不健康。 當(dāng)然,重啟大法不好使。 增加配置項: management.endpoint.health.show-details: always 可以看出,ela

    2024年02月14日
    瀏覽(21)
  • Windows+WSL開發(fā)環(huán)境下微服務(wù)注冊(Consul)指定IP

    Win11下安裝一個WSL2,做開發(fā)環(huán)境,簡直是爽到不要不要的,相當(dāng)于既有Windows下的完善生態(tài),又有l(wèi)inux的便利。特別是,在linux下運(yùn)行的服務(wù)端口號,完全和windows是相通的,直接在windows下瀏覽訪問,不需要配置端口轉(zhuǎn)發(fā)。linux上跑docker服務(wù),Windows直接訪問。 但今天碰到一個問

    2024年02月03日
    瀏覽(13)
  • 微服務(wù) – Spring Cloud – Nacos服務(wù)注冊、發(fā)現(xiàn)

    1、引入依賴 父pom依賴 子pom依賴 2、配置文件 3、主啟動類 第三部完成 打開nacos 在服務(wù)列表即可看到注冊進(jìn)來的服務(wù). 4、業(yè)務(wù)類 寫一個接口供服務(wù)發(fā)現(xiàn)者使用 1、引入依賴 2、配置文件 3、主啟動類 打開nacos 在服務(wù)列表即可看到注冊進(jìn)來的服務(wù). 4、發(fā)現(xiàn)第一個服務(wù) 并調(diào)用第一

    2024年02月11日
    瀏覽(317)
  • 【Spring Cloud 三】Eureka服務(wù)注冊與服務(wù)發(fā)現(xiàn)

    【Spring Cloud 三】Eureka服務(wù)注冊與服務(wù)發(fā)現(xiàn)

    【Spring Cloud一】微服務(wù)基本知識 目前公司項目使用的注冊中心主要是Spring Cloud Alibaba的Nacos做的注冊中心和配置中心。之前也是對Nacos的基本原理通過手寫代碼的方式進(jìn)行了實現(xiàn)。出于對于Eureka的好奇所以就對Spring Cloud Neflix的Eureka進(jìn)行理論學(xué)習(xí)和實踐。 Eureka是一個 注冊發(fā)現(xiàn)中

    2024年02月14日
    瀏覽(986)
  • Spring Cloud Eureka:服務(wù)注冊與發(fā)現(xiàn)

    Spring Cloud Eureka:服務(wù)注冊與發(fā)現(xiàn)

    ??wei_shuo的個人主頁 ??wei_shuo的學(xué)習(xí)社區(qū) ??Hello World ! Spring Cloud Eureka是Spring Cloud生態(tài)系統(tǒng)中的一個組件,它是用于實現(xiàn)服務(wù)注冊與發(fā)現(xiàn)的服務(wù)治理組件。在微服務(wù)架構(gòu)中,服務(wù)之間存在復(fù)雜的依賴關(guān)系,而Spring Cloud Eureka可以幫助解決服務(wù)之間相互查找和通信的問題 Eurek

    2024年02月09日
    瀏覽(88)
  • 【微服務(wù) Spring Cloud Alibaba】- Nacos 服務(wù)注冊中心

    【微服務(wù) Spring Cloud Alibaba】- Nacos 服務(wù)注冊中心

    目錄 1. 什么是注冊中心? 1.2 注冊中心的作用 2. SpringBoot 整合 Nacos 實現(xiàn)服務(wù)注冊中心 2.1 將服務(wù)注冊到 Nacos 2.2 實現(xiàn)消費者 3. 服務(wù)列表各個參數(shù)的含義、作用以及應(yīng)用場景 注冊中心是微服務(wù)架構(gòu)中的一個重要組件,它用于實現(xiàn) 服務(wù)注冊 與 服務(wù)發(fā)現(xiàn) 。 【思考一】什么叫服務(wù)

    2024年02月06日
    瀏覽(94)
  • Eureka:Spring Cloud服務(wù)注冊與發(fā)現(xiàn)組件

    Eureka:Spring Cloud服務(wù)注冊與發(fā)現(xiàn)組件

    Eureka 一詞來源于古希臘詞匯,是“發(fā)現(xiàn)了”的意思。在軟件領(lǐng)域,Eureka 是 Netflix 公司開發(fā)的一款開源的服務(wù)注冊與發(fā)現(xiàn)組件。 Spring Cloud 將 Eureka 與 Netflix 中的其他開源服務(wù)組件(例如 Ribbon、Feign 以及 Hystrix 等)一起整合進(jìn) Spring Cloud Netflix 模塊中,整合后的組件全稱為 Spr

    2024年02月03日
    瀏覽(94)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包