Consul简介

一、什么是Consul?

Consul是发现和配置基础架构中的服务的工具,它具有以下功能:

  • 服务发现: consul client可以提供服务,同时也可以通过consul server来发现它需要的service。通过DNS和HTTP,应用程序可以轻易找到它们所依赖的service。
  • 健康检查: consul server 可以为consul client 供任何数量的健康检查,或者是特定服务的健康检查(“是Web服务器返回200 OK”),或者是与本地节点的健康检查(“内存使用率低于90%”)。系统管理员可以根据此信息来监视群集运行状况,以及各个服务的状态,并且可以将不健康的service从集群中移除。
  • KV Store: Consul还提供key/value的存储功能,可以用来保存动态配置,协调服务,领导者选举等等。可以通过简单的HTTP API来调用。
  • 多数据中心: Consul支持多个数据中心。这意味着Consul的用户不必担心构建额外的抽象层,以扩展到多个区域。

二、运行Consul Agent

server方式启动
代理可以server方式启动,每个数据中心都必须至少有一台服务器,通常情况下需要多台,避免单点故障。下面我们以server的方式启动一个consul agent节点,节点数据保存路径是/tmp/consul,指定server预期的数量是1(如果是多个,每个server指定的值必须一样),绑定server的地址是server_ip

consul agent -server -data-dir=/tmp/consul -bootstrap-expect 1 -bind server_ip

client的方式启动
一个server可以加入多个client,client与server之间通过DNS和HTTP通信。下面以client的方式启动agent,数据节点文件存储目录/tmp/consul,节点名称yyh,要加入的server的地址是server_ip。

consul agent -data-dir /tmp/consul -node=yyh -advertise=client_ip -join=server_ip

三、Consul常用API

1、查看当前数据中心所有服务

127.0.0.1:8500/v1/catalog/services

2、查看服务状态

127.0.0.1:8500/v1/catalog/service/{service name}

3、查看本机服务

127.0.0.1:8500/v1/agent/services

4、查看当前数据中心不健康的服务

localhost:8500/v1/health/state/critical

5、查看指定服务状态

localhost:8500/v1/health/checks/{service name}

6、查看当前数据中心所有的KV

localhost:8500/v1/kv/?recurse

7、查看指定的KV

localhost:8500/v1/kv/{keyName}

8、查看当前数据中心所有成员

localhost:8500/v1/agent/members

9、删除agent不健康的服务

curl -X PUT localhost:8500/v1/agent/service/deregister/{serviceId}

ps:还有很多。。。。

最好的学习资料就是官网了,地址:https://www.consul.io/intro/index.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值