Consul API接口详解

consul的主要接口是RESTful HTTP API,该API可以用来增删查改nodes、services、checks、configguration。所有的endpoints主要分为以下类别:

 
  
  1. kv - Key/Value存储

  2. agent - Agent控制

  3. catalog - 管理nodes和services

  4. health - 管理健康监测

  5. session - Session操作

  6. acl - ACL创建和管理

  7. event - 用户Events

  8. status - Consul系统状态

下面我们就单独看看每个模块的具体内容。

agent endpoints:agent endpoints用来和本地agent进行交互,一般用来服务注册和检查注册,支持以下接口

 
  
  1. /v1/agent/checks : 返回本地agent注册的所有检查(包括配置文件和HTTP接口)

  2. /v1/agent/services : 返回本地agent注册的所有 服务

  3. /v1/agent/members : 返回agent在集群的gossip pool中看到的成员

  4. /v1/agent/self : 返回本地agent的配置和成员信息

  5. /v1/agent/join/

    : 触发本地agent加入node

  6. /v1/agent/force-leave/>: 强制删除node

  7. /v1/agent/check/register : 在本地agent增加一个检查项,使用PUT方法传输一个json格式的数据

  8. /v1/agent/check/deregister/ : 注销一个本地agent的检查项

  9. /v1/agent/check/pass/ : 设置一个本地检查项的状态为passing

  10. /v1/agent/check/warn/ : 设置一个本地检查项的状态为warning

  11. /v1/agent/check/fail/ : 设置一个本地检查项的状态为critical

  12. /v1/agent/service/register : 在本地agent增加一个新的服务项,使用PUT方法传输一个json格式的数据

  13. /v1/agent/service/deregister/ : 注销一个本地agent的服务项

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

 
  
  1. /v1/catalog/register : Registers a new node, service, or check

  2. /v1/catalog/deregister : Deregisters a node, service, or check

  3. /v1/catalog/datacenters : Lists known datacenters

  4. /v1/catalog/nodes : Lists nodes in a given DC

  5. /v1/catalog/services : Lists services in a given DC

  6. /v1/catalog/service/ : Lists the nodes in a given service

  7. /v1/catalog/node/ : Lists the services provided by a node

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

 
  
  1. /v1/healt/node/: 返回node所定义的检查,可用参数?dc=

  2. /v1/health/checks/: 返回和服务相关联的检查,可用参数?dc=

  3. /v1/health/service/: 返回给定datacenter中给定node中service

  4. /v1/health/state/: 返回给定datacenter中指定状态的服务,state可以是"any", "unknown", "passing", "warning", or "critical",可用参数?dc=

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

 
  
  1. /v1/session/create: Creates a new session

  2. /v1/session/destroy/: Destroys a given session

  3. /v1/session/info/: Queries a given session

  4. /v1/session/node/: Lists sessions belonging to a node

  5. /v1/session/list: Lists all the active sessions

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

 
  
  1. /v1/acl/create: Creates a new token with policy

  2. /v1/acl/update: Update the policy of a token

  3. /v1/acl/destroy/: Destroys a given token

  4. /v1/acl/info/: Queries the policy of a given token

  5. /v1/acl/clone/: Creates a new token by cloning an existing token

  6. /v1/acl/list: Lists all the active tokens

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

 
  
  1. /v1/event/fire/: 触发一个新的event,用户event需要name和其他可选的参数,使用PUT方法

  2. /v1/event/list: 返回agent知道的events

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

 
  
  1. /v1/status/leader : 返回当前集群的Raft leader

  2. /v1/status/peers : 返回当前集群中同事

你可能感兴趣的:(微服务,consul,java)