consul服务注册与健康检查

consul简介

  • 用于实现分布式系统的服务发现与配置。Consul 的使用“一站式”的方式,内置了服务注册与发现框 架、分布一致性协议实现、健康检查、Key/Value 存储、多数据中心方案。consul官网

consul的服务注册

  • 测试consul连接:当我们安装(网上很多教程随便找一个就行了)好了consul之后,我们可以先在centos中进入consul容器中,然后在容器中ping 通你的本地主机ip。这样就代表你的consul可以连上你的本地服务(反之应该安装配置的时候ip和port配置出错了)。这些没问题的话,我们可以使用官方的API文档中的例子来简单的测试一下功能。
//进入consul容器
docker exec -it 你的consul容器id sh(也有可能是bash看你是那种linux)
//ping 通之后退出容器
exit
  • 服务注册:这里我们使用postman来注册一个服务,我们先在浏览器输入ip:8500
    (ip是你安装consul的系统的IP地址,centos下安装的就是centos的ip,同理windows),然后你就会进入到consul的页面里面会有一个consul名字的服务已经注册。这时候我们打开postman(直接百度下载就行),然后新建一个请求,把请求方式改为PUT,然后输入http://192.168.0.106:8500/v1/agent/service/register这个URL,这是官方文档提供的可以自行查看,然后配置Headers信息(key=Content-Type,value=application/json),然后配置我们的body信息(下面代码块中),配置完成之后,直接点击send,你再去consul页面,就会发现多了一个你刚刚注册的服务信息。
//配置body中的row信息
{
   
    "Name":"服务名",
    "ID":"服务id",
    "Tags":["标签信息1","标签信息2","标签信息3"],
    "Address":"127.0.0.1",//你想输入什么ip都可以(因为现在没有健康检查)
    "Port":8021//随便
}
  • 服务删除:直接换个url,加上服务名称然后带点击send(也是PUT方式)就可以了。
http://192.168.0.106:8500/v1/agent/service/deregister/服务Name

服务的健康检查

  • 这里我们使用go语言来实现consul的健康检查(consul是用go语言开发的,所以API的支持相对好点)。
  • 注册检查:首先我们需要导入go语言内置支持的consul包github.com/hashicorp/consul/api,然后我们就可以对consul进行操作。
//Register 测试gin连接consul注册服务,注销服务,健康检查等操作
func Register(address string, port int, name string, tags [
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值