Consul 集群5
2023-03-20 15:35:21 时间
脱离集群
可以使用 Ctrl-C
来平滑地退出,也可以强行Kill退出,区别是主动告知其它节点自己的离开,和被其它节点标记为失效,被发现离开
健康检查
健康检查对于避免将请求发送给运行不正常的服务是一个相当关键的机制
和服务一样,有两种方式来定义健康检查
- 通过配置文件
- 使用 HTTP API
定义检查
这里使用配置文件的方式来定义健康检查
[root@docker ~]# echo '{"check": {"name": "ping","script": "ping -c1 soft.dog >/dev/null", "interval": "30s"}}' > /etc/consul.d/ping.json
[root@docker ~]# echo '{"service": {"name": "web", "tags": ["rails"], "port": 80,"check": {"script": "curl localhost >/dev/null 2>&1", "interval": "10s"}}}' > /etc/consul.d/web.json
[root@docker ~]# cat /etc/consul.d/ping.json
{"check": {"name": "ping","script": "ping -c1 soft.dog >/dev/null", "interval": "30s"}}
[root@docker ~]# cat /etc/consul.d/web.json
{"service": {"name": "web", "tags": ["rails"], "port": 80,"check": {"script": "curl localhost >/dev/null 2>&1", "interval": "10s"}}}
[root@docker ~]#
重载配置
通过给进程发送 SIGHUP 的信号来使配置重载
[root@docker ~]# ps faux | grep consul
root 22094 1.2 0.3 25084 13756 pts/0 Sl+ 21:51 1:07 | \_ consul agent -data-dir /tmp/consul -node=a2 -bind=192.168.100.103 -config-dir /etc/consul.d
root 25063 0.0 0.0 112644 960 pts/1 S+ 23:20 0:00 \_ grep --color=auto consul
[root@docker ~]# kill -s SIGHUP 22094
[root@docker ~]#
这时可以观察到日志输出
...
...
==> Caught signal: hangup
==> Reloading configuration...
2016/03/18 23:21:07 [INFO] agent: Synced service 'web'
2016/03/18 23:21:07 [INFO] agent: Synced check 'ping'
2016/03/18 23:21:08 [WARN] agent: Check 'service:web' is now critical
2016/03/18 23:21:18 [WARN] agent: Check 'service:web' is now critical
2016/03/18 23:21:28 [WARN] agent: Check 'service:web' is now critical
2016/03/18 23:21:32 [INFO] agent: Synced check 'ping'
2016/03/18 23:21:38 [WARN] agent: Check 'service:web' is now critical
...
...
...
重新加载配置后,两个检查脚本都成功载入了
ping 脚本检查正常,因为我的博客地址是可达的,同时由于我们并没有真正在本地启web服务,80端口不存在,也不提供内容,所以检查结果是状态不正常
相关文章
- 金融服务领域的大数据:即时分析
- 影响大数据、机器学习和人工智能未来发展的8个因素
- 从0开始构建一个属于你自己的PHP框架
- 如何将Hadoop集成到工作流程中?这6个优秀实践必看
- SEO公司使用大数据优化其模型的5种方法
- 关于Web Workers你需要了解的七件事
- 深入理解HTTPS原理、过程与实践
- 增强分析:数据和分析的未来
- PHP协程实现过程详解
- AI专家:大数据知识图谱——实战经验总结
- 关于PHP的错误机制总结
- 利用数据分析量化协同过滤算法的两大常见难题
- 怎么做大数据工作流调度系统?大厂架构师一语点破!
- 2019大数据处理必备的十大工具,从Linux到架构师必修
- OpenCV中的KMeans算法介绍与应用
- 教大家如果搭建一套phpstorm+wamp+xdebug调试PHP的环境
- CentOS下三种PHP拓展安装方法
- Go语言HTTP Server源码分析
- Go语言HTTP Server源码分析
- 2017年4月编程语言排行榜:Hack首次进入前五十