架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4344|回复: 0

Consul HTTP API 接口调用

[复制链接]
发表于 2021-3-5 11:33:28 | 显示全部楼层 |阅读模式
http API列表,具体还请参照官方文档对照:https://www.consul.io/api

ASP.NET Core 链路追踪(三)SkyAPM 基于 Consul 动态配置
https://www.itsvse.com/thread-9468-1-1.html

【架构篇】ASP.NET Core 基于 Consul 之服务高可用
https://www.itsvse.com/thread-9422-1-1.html

【架构篇】ASP.NET Core 基于 Consul 动态配置热更新
https://www.itsvse.com/thread-9421-1-1.html

【架构篇】.net/c# 基于 Consul 实现分布式配置之Key/Value存储
https://www.itsvse.com/thread-9420-1-1.html



5e549dbcbcdef.png

agent


agent endpoints用来和本地agent进行交互,一般用来服务注册和检查注册

/v1/agent/checks : 返回本地agent注册的所有检查(包括配置文件和HTTP接口)
/v1/agent/services : 返回本地agent注册的所有 服务
/v1/agent/members : 返回agent在集群的gossip pool中看到的成员
/v1/agent/self : 返回本地agent的配置和成员信息
/v1/agent/join/<address> : 触发本地agent加入node
/v1/agent/force-leave/<node>>: 强制删除node
/v1/agent/check/register : 在本地agent增加一个检查项,使用PUT方法传输一个json格式的数据
/v1/agent/check/deregister/<checkID> : 注销一个本地agent的检查项
/v1/agent/check/pass/<checkID> : 设置一个本地检查项的状态为passing
/v1/agent/check/warn/<checkID> : 设置一个本地检查项的状态为warning
/v1/agent/check/fail/<checkID> : 设置一个本地检查项的状态为critical
/v1/agent/service/register : 在本地agent增加一个新的服务项,使用PUT方法传输一个json格式的数据
/v1/agent/service/deregister/<serviceID> : 注销一个本地agent的服务项


示例:

返回本地agent注册的所有服务

http://itsvse:8500/v1/agent/services

{
        "20210305111225232--1862594008": {
                "ID": "20210305111225232--1862594008",
                "Service": "Itsvse.API",
                "Tags": ["测试"],
                "Meta": {
                        "Product": "架构师",
                        "Version": "3.9.0.0"
                },
                "Port": 9002,
                "Address": "192.168.130.7",
                "TaggedAddresses": {
                        "lan_ipv4": {
                                "Address": "192.168.130.7",
                                "Port": 9002
                        },
                        "wan_ipv4": {
                                "Address": "192.168.130.7",
                                "Port": 9002
                        }
                },
                "Weights": {
                        "Passing": 1,
                        "Warning": 1
                },
                "EnableTagOverride": false
        },
        "20210305111244420-950221525": {
                "ID": "20210305111244420-950221525",
                "Service": "Itsvse.Web.Background",
                "Tags": ["测试2"],
                "Meta": {
                        "Product": "架构师",
                        "Version": "3.9.0.0"
                },
                "Port": 9001,
                "Address": "192.168.130.7",
                "TaggedAddresses": {
                        "lan_ipv4": {
                                "Address": "192.168.130.7",
                                "Port": 9001
                        },
                        "wan_ipv4": {
                                "Address": "192.168.130.7",
                                "Port": 9001
                        }
                },
                "Weights": {
                        "Passing": 1,
                        "Warning": 1
                },
                "EnableTagOverride": false
        },
        "20210305111246746-1271993326": {
                "ID": "20210305111246746-1271993326",
                "Service": "Itsvse.Web",
                "Tags": ["测试3"],
                "Meta": {
                        "Product": "架构师",
                        "Version": "3.9.0.0"
                },
                "Port": 9003,
                "Address": "192.168.130.7",
                "TaggedAddresses": {
                        "lan_ipv4": {
                                "Address": "192.168.130.7",
                                "Port": 9003
                        },
                        "wan_ipv4": {
                                "Address": "192.168.130.7",
                                "Port": 9003
                        }
                },
                "Weights": {
                        "Passing": 1,
                        "Warning": 1
                },
                "EnableTagOverride": false
        }
}


catalog

catalog endpoints用来注册/注销nodes、services、checks

/v1/catalog/register : Registers a new node, service, or check (建议用agent方法
/v1/catalog/deregister : Deregisters a node, service, or check  (建议用agent方法
/v1/catalog/datacenters : Lists known datacenters
/v1/catalog/nodes : Lists nodes in a given DC
/v1/catalog/services : Lists services in a given DC
/v1/catalog/service/<service> : Lists the nodes in a given service
/v1/catalog/node/<node> : Lists the services provided by a node


注意: agent和catalog区别(agent获取当前节点上的注册的数据,catalog获取所有)

获取所有服务的信息

http://itsvse:8500/v1/catalog/services


{
        "Itsvse.API": ["测试"],
        "Itsvse.Web.Background": ["测试1"],
        "Itsvse.Web": ["测试2"],
        "consul": []
}
health

health endpoints用来查询健康状况相关信息,该功能从catalog中单独分离出来

/v1/healt/node/<node>: 返回node所定义的检查,可用参数?dc=
/v1/health/checks/<service>: 返回和服务相关联的检查,可用参数?dc=
/v1/health/service/<service>: 返回给定datacenter中给定node中service
/v1/health/state/<state>: 返回给定datacenter中指定状态的服务,state可以是"any", "unknown", "passing", "warning", or "critical",可用参数?dc=


session

session endpoints用来create、update、destory、query sessions

/v1/session/create: Creates a new session
/v1/session/destroy/<session>: Destroys a given session
/v1/session/info/<session>: Queries a given session
/v1/session/node/<node>: Lists sessions belonging to a node
/v1/session/list: Lists all the active sessions


acl

acl endpoints用来create、update、destory、query acl

/v1/acl/create: Creates a new token with policy
/v1/acl/update: Update the policy of a token
/v1/acl/destroy/<id>: Destroys a given token
/v1/acl/info/<id>: Queries the policy of a given token
/v1/acl/clone/<id>: Creates a new token by cloning an existing token
/v1/acl/list: Lists all the active tokens


kv

put /v1/kv/key
get /v1/kv/key
delete /v1/kv/k

eyevent

event endpoints用来fire新的events、查询已有的events

/v1/event/fire/<name>: 触发一个新的event,用户event需要name和其他可选的参数,使用PUT方法
/v1/event/list: 返回agent知道的events

status

status endpoints用来或者consul 集群的信息

/v1/status/leader : 返回当前集群的Raft leader
/v1/status/peers : 返回当前集群中同事





上一篇:Java 调用 c# webservice 服务器未能识别 HTTP 标头 SOAPAction 的值
下一篇:jQuery Ajax 强制修改所有的 Content-Type
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-27 12:49

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表