日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

注册中心—组件—Consul

發布時間:2024/4/15 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 注册中心—组件—Consul 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文作者:DreamsonMa

原文地址:Consul 快速入門 - Kong最佳實踐

目錄

Consul是什么

安裝Consul

運行Agent

注冊服務

Consul集群

KV數據

WEB UI


Consul是什么

Consul是一個服務網格解決方案(微服務間的 TCP/IP,負責服務之間的網絡調用、限流、熔斷和監控),它是一個分布式的、高度可用的系統,而且開發使用都很簡便。它提供了一個功能齊全的控制平面,主要特點是:服務發現、健康檢查、鍵值存儲、安全服務通信、多數據中心。

安裝Consul

這里提供兩臺Centos:local12,local13安裝方式:

[root@local13 ~] wget https://releases.hashicorp.com/consul/1.2.2/consul_1.2.2_linux_amd64.zip [root@local13 ~] unzip consul_1.2.2_linux_amd64.zip [root@local13 ~] ./consul Usage: consul [--version] [--help] <command> [<args>] # local12同上

運行Agent

安裝Consul后必須運行Agent,可以選擇服務器或客戶端模式。每個數據中心至少有一個服務器(推薦3~5個服務器集群)。簡單起見,先啟動一個Agent的開發模式:

# Agent的開發模式 [root@local13 ~] ./consul agent -dev ==> Starting Consul agent... ==> Consul agent running!# 查看集群成員 [root@local13 ~] ./consul members Node Address Status Type Build Protocol DC Segment local13 127.0.0.1:8301 alive server 1.2.2 2 dc1 <all># 使用 HTTP API 查看 [root@local13 ~] curl localhost:8500/v1/catalog/nodes [{"ID": "796b14fe-1332-4aa0-d96f-8f287a4ccc7e","Node": "local13","Address": "127.0.0.1","Datacenter": "dc1","TaggedAddresses": {"lan": "127.0.0.1","wan": "127.0.0.1"},"Meta": {"consul-network-segment": ""},"CreateIndex": 9,"ModifyIndex": 10} ] # 還可以使用 DNS 接口來查詢節點(默認端口:8600) [root@local13 ~] yum install bind-utils [root@local13 ~] dig @127.0.0.1 -p 8600 local13.node.consul ... ;; QUESTION SECTION: ;local13.node.consul. IN A ;; ANSWER SECTION: local13.node.consul. 0 IN A 127.0.0.1 ...

注冊服務

1、定義一個服務

[root@local13 ~] mkdir /etc/consul.d [root@local13 ~] echo '{"service": {"name": "web", "tags": ["rails"], "port": 80}}' | sudo tee /etc/consul.d/web.json [root@local13 ~] ./consul agent -dev -config-dir=/etc/consul.d

2、查詢一個服務

# 使用 DNS API [root@local13 ~] dig @127.0.0.1 -p 8600 web.service.consul ... ;; QUESTION SECTION: ;web.service.consul. IN A ;; ANSWER SECTION: web.service.consul. 0 IN A 127.0.0.1# 使用 DNS API 查找 SRV 記錄 [root@local13 ~] dig @127.0.0.1 -p 8600 web.service.consul SRV ... ;; QUESTION SECTION: ;web.service.consul. IN SRV ;; ANSWER SECTION: web.service.consul. 0 IN SRV 1 1 80 local13.node.dc1.consul. ;; ADDITIONAL SECTION: local13.node.dc1.consul. 0 IN A 127.0.0.1 ...# 使用 HTTP API 查詢 [root@local13 ~] curl http://localhost:8500/v1/catalog/service/web # 健康檢查 [root@local13 ~] curl 'http://localhost:8500/v1/health/service/web?passing'

Consul集群

1、創建node1,consul server

[root@local12 ~] ./consul agent -server -bootstrap-expect=1 \ -data-dir=/tmp/consul \ -node=agent-one -bind=192.168.56.112 \ -enable-script-checks=true -config-dir=/etc/consul.d \ -client 0.0.0.0 -ui # -node:節點的名稱 # -bind:綁定的一個地址,用于節點之間通信的地址,可以是內外網,必須是可以訪問到的地址 # -server:這個就是表示這個節點是個SERVER # -bootstrap-expect:這個就是表示期望提供的SERVER節點數目,數目一達到,它就會被激活,然后就是LEADER了 # -dc:指明數據中心的名字 # -client 0.0.0.0 -ui:啟動UI(為了方便后續的UI訪問)

2、創建node2,consul client

[root@local13 ~] ./consul agent -data-dir=/tmp/consul \ -node=agent-two \ -bind=192.168.56.113 -enable-script-checks=true \ -config-dir=/etc/consul.d \ -ui

3、加入集群

[root@local13 ~] ./consul join 192.168.56.112 Successfully joined cluster by contacting 1 nodes. [root@local13 ~] ./consul members Node Address Status Type Build Protocol DC Segment agent-one 192.168.1.13:8301 alive server 1.2.2 2 dc1 <all> agent-two 192.168.1.12:8301 alive client 1.2.2 2 dc1 <default>

4、查詢節點

[root@local13 ~] dig @127.0.0.1 -p 8600 agent-two.node.consul ... ;; QUESTION SECTION: ;agent-two.node.consul. IN A ;; ANSWER SECTION: agent-two.node.consul. 0 IN A 192.168.1.12

KV數據

類似Redis,一般也就用來做服務配置。簡單了解下命令就好:

consul kv put redis/config/minconns 1 consul kv put redis/config/minconns 2 # 更新 consul kv get redis/config/minconns consul kv delete redis/config/minconns consul kv delete -recurse redis # 批量刪除

WEB UI

訪問下:http://192.168.56.112:8500/ui

?

總結

以上是生活随笔為你收集整理的注册中心—组件—Consul的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。