时间:2016-12-5来源:本站原创作者:佚名
简介

为什么要用consul,这里就不详细介绍了,本文重点是Consul的搭建和使用过程。

Consul搭建

参考文献:   官方   2.在consul执行文件的目录下打开命令

  3.创建server方式

  consulagent-server-bootstrap-expect2-data-dir/tmp/consul-node=n1-bind=你的ip-dc=dc1

  

  相关配置信息说明

     a.–server指定创建服务端

     b.–boostrap-expect关于服务leader投票等相关的level设定

     c.–data-dir相关信息的文件路径,不指定的话,就在consul目录下生成

     d.–node节点名称

     e.–bind绑定的你服务器的IP

     f.–dc数据中心名称

     更多的配置信息说明,请参考官方内容,   4.创建client方式

  如上,只是删掉了-server

  consulagent-data-dir/tmp/consul-node=n3-bind=你的ip-dc=dc1

  5.以配置文件形式创建

  命令后面加-config-file=./conf

  consulagent-data-dir/tmp/consul-node=n3-bind=你的ip-dc=dc1-config-file=./conf

  ./conf目录下包含json格式的配置信息,将配置的设置都存放在该文件下,可以注册服务和healthCheck等等

{log_level:TRACE,encrypt:7TnJPB4lKtjEcCWWjN6jSA==,service:{name:web3,tags:[master],address:.0.0.1,port:,checks:[{   6.搭建服务集群(服务器之间关联)

  Consuljoin其中一个服务器的ip,如:consuljoin10.5..

  7.配置webui的方式

  Webui是consul提供的可视化的服务web界面,可以对key/value和服务、节点进行操作

     a.将下载好的webui文件内容(包含一个html和一个static文件件)拷贝到consul所在目录下dist(自己创建)文件夹下

  

     ps.在原来创建server或者client的时候,需要设置-ui-dir./dist

     如:consulagent-data-dir/tmp/consul-node=n3-bind=你的ip-dc=dc1-config-file=./conf-ui-dir./dist

     b.打开.0.0.1:就可以打开界面了。

  8.常见的consul命令

  Consulmembers查看服务集群的所有服务器

  Consulinfo查看当前服务器的状况

  Consulleave退出当前服务集群

服务注册

通过Consul的服务注册HTTPAPI,由服务自身在启动后调用API注册自己(可以自定义服务客户端,调用api进行操作)

通过在配置文件中定义服务的方式进行注册

{service:{name:web3,tags:[master],address:.0.0.1,port:,checks:[{   以上注册了一个服务名称为web3地址.0.0.1端口,同时还注册了一个healthcheck。

服务发现

通过HTTPAPI查看存在哪些服务(自定义服务发现客户端)

通过consulagent内置的DNS服务(如果是windows系统可以下载dig工具,发现dns服务,ps.Windows系统不建议作为server)

  可以根据服务check的实时状态动态调整available服务节点列表

  dig

.0.0.1-pweb3.service.consulSRV

服务发现HTTPAPI

  kv-Key/Value存储

  agent-Agent控制

  catalog-管理nodes和services

  health-管理健康监测

  session-Session操作

  acl-ACL创建和管理

  event-用户Events

  status-Consul系统状态

  2.agent的api

  和本地agent交互,用于服务注册和检查注册

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

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

/v1/agent/members:返回agent在集群的gossippool中看到的成员

/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的服务项

  3.catalog的api

  注册、注销nodes、services、checks

/v1/catalog/register:Registersanewnode,service,orcheck

/v1/catalog/deregister:Deregistersanode,service,orcheck

/v1/catalog/datacenters:Listsknowndatacenters

/v1/catalog/nodes:ListsnodesinagivenDC

/v1/catalog/services:ListsservicesinagivenDC

/v1/catalog/service/service:Liststhenodesinagivenservice

/v1/catalog/node/node:Liststheservicesprovidedbyanode

  4.health

  查询相关的健康信息

/v1/health/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,orcritical,可用参数?dc=

session

增删改查session信息

/v1/session/create:Createsanewsession

/v1/session/destroy/session:Destroysagivensession

/v1/session/info/session:Queriesagivensession

/v1/session/node/node:Listssessionsbelongingtoanode

/v1/session/list:Listsalltheactivesessions

  5.acl

  增删改查acl信息

/v1/acl/create:Createsanewtokenwithpolicy

/v1/acl/update:Updatethepolicyofatoken

/v1/acl/destroy/id:Destroysagiventoken

/v1/acl/info/id:Queriesthepolicyofagiventoken

/v1/acl/clone/id:Createsanewtokenbycloninganexistingtoken

/v1/acl/list:Listsalltheactivetokens

  6.event

  触发event和查询已有event

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

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

  7.status

  consul集群的信息

/v1/status/leader:返回当前集群的Raftleader

/v1/status/peers:返回当前集群中同事服务发现客户端

从nuget上下载consul包,里面包含consul的所有操作。

源码







































白癜风最快治疗方法
北京市哪里治疗白癜风最好

转载请注明原文网址:http://www.helimiaopu.com/cxtx/2567.html

------分隔线----------------------------