美文网首页
本地搭建consul服务中心

本地搭建consul服务中心

作者: 大橙子ii | 来源:发表于2019-07-12 15:50 被阅读0次

一、Consul是什么?

Consul有多个组件,但总体而言,为你的基础设施提供服务发现和服务配置的功能,有以下关键特性
    \bullet  服务发现 Consul的客户端可提供一个服务,比如api或者mysql,另外一些客户端可使用Consul去发现指定的服务,并通过DNS或者HTTP应用程序找到他所依赖的服务
     \bullet 健康检查  Consul客户端可提供健康检查,指定一个服务(比如webserver是否返回200 OK状态码)或者使用本地节点(比如内存使用率是否大于90%),这个信息可由operator用来监视集群的健康,被服务发现组件用来避免将流量发送到不健康的主机
    \bullet  Key/Value存储 应用程序可根据自己的需要使用Consul的层级Key/Value存储,比如动态配置,功能标记,协调,领袖选举等等,简单的HTTP API让他更易于使用
    \bullet  多数据中心 Consul支持开箱即用的多数据中心,这意味着用户不需要担心建立额外的抽象层让业务扩展到多个区域,Consul面向DevOps和应用开发者友好,是他适合现代的弹性的基础设施

二、安装consul

下载链接:https://www.consul.io/downloads.html

三、关键名词

-server : 定义agent运行在server模式
-bootstrap-expect :在一个datacenter中期望提供的server节点数目,当该值提供的时候,consul一直等到达到指定sever数目的时候才会引导整个集群,该标记不能和bootstrap共用
-bind:该地址用来在集群内部的通讯,集群内的所有节点到地址都必须是可达的,默认是0.0.0.0
-node:节点在集群中的名称,在一个集群中必须是唯一的,默认是该节点的主机名
-ui-dir: 提供存放web ui资源的路径,该目录必须是可读的
-rejoin:使consul忽略先前的离开,在再次启动后仍旧尝试加入集群中。
-config-dir:配置文件目录,里面所有以.json结尾的文件都会被加载
-client:consul服务侦听地址,这个地址提供HTTP、DNS、RPC等服务,默认是127.0.0.1所以不对外提供服务,如果你要对外提供服务改成0.0.0.0

四、启动本地consul服务

consul agent -dev:本地启用consul服务
consul mambers:查看集群成员
127.0.0.1:8500/ui:consul-ui地址

五、服务注册

http://consul:8500/v1/agent/service/register [PUT]
{
  "ID": "userServiceId", //服务id
  "Name": "userService", //服务名
  "Tags": [              //服务的tag,自定义,可以根据这个tag来区分同一个服务名的服务
    "primary",
    "v1"],
  "Address": "127.0.0.1",//服务注册到consul的IP,服务发现,发现的就是这个IP
  "Port": 8000,          //服务注册consul的PORT,发现的就是这个PORT
  "EnableTagOverride": false,
  "Check": {            //健康检查部分
  "DeregisterCriticalServiceAfter": "90m",
  "HTTP": "http://www.baidu.com", //指定健康检查的URL,调用后只要返回20X,consul都认为是健康的
  "Interval": "10s"  //健康检查间隔时间,每隔10s,调用一次上面的UR
}
}

http://127.0.0.1:8500/v1/health/service/hello?passing=false //查询服务名为hello的信息

相关文章

网友评论

      本文标题:本地搭建consul服务中心

      本文链接:https://www.haomeiwen.com/subject/groekctx.html