<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ### **1. Consul-KV** #### **1.1 什么是consul的KV數據?** Consul 提供了一個簡單的鍵值存儲(KV store)。它可以用于保存動態配置、輔助服務間協作、建立領導 選舉以及其他開發者想要實現的功能。可以把 consul 理解為簡單的 Redis ,根據 KV 來進行鍵值對的數 據存儲 ***** #### **1.2 為什么使用Consul的KV數據?** consul的kv功可以用來做動態配置。kv的增加修改刪除查詢除了可以通過consul客戶端,還可以 **通過 http api和consul的ui**。 ***** #### **1.3 怎么操作?** **CLI的客戶端方式:** 獲取kv結果值,目前KV存儲沒任何值: ``` $ consul kv get redis/config/minconns Error! No key exists at: redis/config/minconns #用 -detailed 標識可以獲取 Consul 保存的詳細元數據 $ consul kv get -detailed redis/config/minconns CreateIndex 207 Flags 0 Key redis/config/minconns LockIndex 0 ModifyIndex 207 Session - Value 1 # -recurse 選項可以遞歸查詢子鍵,結果按字典序排列 $ consul kv get -recurse redis/config/maxconns:25 redis/config/minconns:1 redis/config/users/admin:abcd1234 ``` 添加/修改kv的結果值: ``` $ consul kv get redis/config/minconns Error! No key exists at: redis/config/minconns $ consul kv put redis/config/minconns 1 Success! Data written to: redis/config/minconns $ consul kv put redis/config/maxconns 25 Success! Data written to: redis/config/maxconns $ consul kv put -flags=42 redis/config/users/admin abcd1234 Success! Data written to: redis/config/users/admin ``` 用 delete 可以刪除一個鍵值對 ``` $ consul kv delete redis/config/minconns Success! Deleted key: redis/config/minconns # -recurse 選項遞歸刪除子鍵 $ consul kv delete -recurse redis Success! Deleted keys with prefix: redis ``` ***** **HTTP-API的方式操作KV存存儲:** 使用 `HTTP GET` ,URL 如下,IP為運行consul agent的機器ip,port默認為8500,key注意如果有path的話需要帶上。 ``` 格式:http://ip:port/v1/kv/key http://192.168.30.128:8530/v1/kv/config/db/data #config/db/data 為key的路徑值,獲取內容如下 [ { "LockIndex": 0, "Key": "config/db/data", "Flags": 0, "Value": "ewoic2lnbiI6Indpbm5lciIsCiAgImRyaXZlciI6InJlZGlzIgp9", "CreateIndex": 21275, "ModifyIndex": 21286 } ] ``` >[] 注:value是經過base64編碼的,程序里使用http api的話需要對結果中的value進行解碼。 ***** **新增/修改數據:** 使用 `HTTP PUT` , URL 如下,body中攜帶value ``` #格式:http://ip:port/v1/kv/key http://192.168.30.128:8530/v1/kv/config/db/connection #CURL: curl -X PUT -d '{"ip":"127.0.0.1","port":"3306" }' http://192.168.30.128:8530/v1/kv/config/db/connection ``` ***** **刪除數據:** 使用 HTTP DELETE ,url如下 ``` 格式: http://ip:port/v1/kv/key http://192.168.30.128:8530/v1/kv/config/db/connection # CURL: curl -X DELETE http://192.168.30.128:8530/v1/kv/config/db/connection ``` ***** ### **2. 元數據中心** **`元數據中心`** 是大家共享的數據模型實例,這些信息是系統運行起來后,能準確給予業務能力的一個關鍵 信息抽象。比如在dubbo之類的框架,就是如何能定義和描述一個具體的業務服務。在MySQL里面的 information\_schema 庫中的 tables 里,就是具體的一些db實例里的 metadata 信息。這些信息一般 情況也是準靜態的。像zk,etcd之類的也都可以。 ``` SELECT * FROM `information_schema`.`TABLES` WHERE `information_schema`.`TABLES`.`TABLE_SCHEMA` = 'mysql' AND `information_schema`.`TABLES`.`TABLE_NAME` = 'user'; ``` ***** #### **2.1 Consul的API操作:** 本地請求:基于 `Agent` ``` # 請求例子:curl http://localhost:8500/v1/agnect/services # 獲取本地agent注冊的所有檢查(包括配置文件和http注冊) /v1/agent/checks # 獲取本地agent注冊的所有服務 /v1/agent/services # 獲取集群中的成員 /v1/agent/members # 獲取本地agent的配置和成員信息 /v1/agent/self # 觸發本地agent加入node /v1/agent/join/<address> # 強制刪除node /vq/agent/force-leave/<node> # 在本地agent增加一個檢查項,使用PUT方法傳輸一個json格式的數據 /v1/agent/check/register # 注銷一個本地agent的檢查項 /v1/agent/check/deregister/<checkID> # 設置一個本地檢查項的狀態為passing /v1/agent/check/pass/<checkID>] # 設置一個本地檢查項的狀態為warning /v1/agent/check/warn/<checkID> # 設置一個本地檢查項的狀態為critical /v1/agent/check/fail<checkID> # 在本地agent增加一個新的服務項,使用PUT方法傳輸一個json格式的數據 /v1/agent/service/register # 注銷一個本地agent的服務項 /v1/agent/service/deregister/<serviceID> ``` 數據中心請求:基于 `catalog` 類型 ``` /v1/catalog/register --注冊一個新的service、node、check /v1/catalog/deregister --注銷一個service、node、check /v1/catalog/datacenters --列出知道的數據中心 /v1/catalog/nodes --在給定的數據中心列出node /v1/catalog/services --在給定的數據中心列出service /v1/catalog/service/<service> --查看某個服務的信息 /v1/catalog/node/<node> ``` ***** **注冊服務:** HTTP-API請求: URL:http://192.168.30.128:8530/v1/agent/service/register ``` method: PUT DATA: { "id": "test222", "name": "test222name", "tags": [ "xdp-/core.product" ], "address": "192.168.30.128", "port": 18306, "checks": [ { "name": "core.product.check", "http": "http://192.168.30.128:18306", "interval": "10s", "timeout": "5s" } ] } ``` **查詢服務:** ``` #本地請求(Agent) HTTP-API請求:查詢本地節點下所有的注冊服務 URL:http://192.168.30.128:8530/v1/agent/services method: GET HTTP-API請求:查詢指定本地節點下的服務 語法:/v1/catalog/service/{name} URL:http://192.168.30.128:8530/v1/agent/service/test1name method: GET # 數據中心(catalog)的查詢方式: /v1/catalog/services --在給定的數據中心列出service /v1/catalog/service/<service> --查看某個服務的信息 HTTP-API:查詢當前數據中心下的注冊的服務 URL:http://192.168.30.128:8510/v1/catalog/services http://192.168.30.128:8510/v1/catalog/service/test1name method:GET ``` **刪除服務:** ``` 語法:/v1/agent/service/deregister/<serviceID> URL:http://192.168.30.128:8530/v1/agent/service/deregister/test1 method: PUT ``` **更新服務:** ``` 語法:/v1/agent/service/register URL:http://192.168.30.128:8530/v1/agent/service/register method: PUT DATA: JSON格式數據 { "id": "test1", "name": "test1name", "tags": [ "xdp-/core.product" ], "address": "192.168.30.128", "port": 18306, "checks": [ { "name": "core.product.check", "http": "http://192.168.30.128:18306", "interval": "10s", "timeout": "5s" } ] } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看