consul简介
在 GitHub 上,Consul 被称为“一种用于服务发现、监控和配置的工具”。Consul 是由 Vagrant 的开发公司 HashiCorp 开发的开源项目之一。 它可以提供一个具有高可用性的分布式系统,用以注册服务、存储共享配置并保持多个数据中心的准确视图。此外,它作为一个简单的 Go 程序,因此不需要部署。
下载&安装
下载地址:https://www.consul.io/downloads.html
安装: 截止解压即可运行
[slview@EPCBJWEB consul]$ pwd
/usr/local/tool/consul
[slview@EPCBJWEB consul]$ ls
conf consul data cript
运行
- 在conf添加配置文件
[slview@EPCBJWEB consul]$ cd conf/
[slview@EPCBJWEB conf]$ ls
iot_user_app.json
[slview@EPCBJWEB conf]$
[slview@EPCBJWEB conf]$ more iot_user_app.json
{
"service": {
"name": "iot_user_app",
"tags": ["master"],
"address": "xxx.xxx.xxx.xxx",
"port": 20000,
"checks": [
{
"http": "http://xxx.xxx.xxx.xxx:20000/getuserinfo?Type=3gaaa&MDN=86xxxxxxxxxxx",
"interval": "5s"
}
]
}
}
- 启动,目前是单机
nohup consul agent -ui -server -bootstrap -bind=172.16.0.3 -client=172.16.0.3 -data-dir=./data -config-dir=./conf -ui -node=web_serv 2>&1 &
- 监控服务若不同调用脚本进行重启服务
文档:https://www.consul.io/docs/agent/watches.html
可以监控的类型如下:
consul watch -http-addr 172.16.0.3:8500 -type service -service iot_user_app /usr/local/tool/consul/script/HttpAPP_ReStart.sh