haprox动态下线后端主机
2024-10-18 05:11:28
haproxy可以很好的支持主机下线,不需要编辑配置文件,也不需要重新reload服务,通过本身的socket发送指令即可;
当你的应用程序是高可用状态,一般部署的是>2的,这个时候就可以通过haproxy进行负载,分别分发到后端的两台应用
主机A和B。 当你的应用需要迭代上线的时候,你可以通过指令先下线A,此时B在提供服务,A上线完成后再添加进去,
然后再下线B主机,B主机升级完成后再添加进去提供服务。
这样上线的好处在于服务不会中断,上线时间你不用等到半夜12点了,解脱了自己的时间,当然我说的这类应用是后端
接口层面无状态的。如果有session保持之类的得另想办法,最好是程序上支持,建议开发将程序的session放在redis数据库
或者memcache数据库里面进行缓存,而不是放在本地或者通过运维的手段进行session的高可用(这样太low了)。
haproxy动态上下线主机的方法(非常简单):
# haproxy 动态上下线主机
ad_server 后端集群名字 api_1_234 集群中的一台主机名字
# 下线后端集群ad_server中的api_1_234服务器
echo "disable server ad_server/api_1_234" |socat stdio /tmp/haproxy # 开启后端集群ad_server中的api_1_234服务器
echo "enable server ad_server/api_1_234" |socat stdio /tmp/haproxy
有了这个指令可以写在jenkins里面了,先进行主机下线之后,然后自动上线,自动上线主机,你所需要做的就是在jenkins
页面上点击一下就可以了,可以说是非常的自动化了已经。
最新文章
- Android 学习第16课,java 包、类等相关的一些基础知识
- Linux入侵检查思路及其命令 转自https://yq.aliyun.com/articles/24250?spm=5176.100239.blogcont24249.12.rbBrIh
- windows 配置 apache + php
- ionic + cordova 配置和开发过程中的一些问题
- 记一次mysql故障恢复
- VS2012编译VS2010版本的过程报错解决
- 【linux】暂时解决sis m672(神舟F4000 D9) linux驱动 宽屏分辨率的问题?
- pcr free library 介绍
- [转] DateTime.Now.ToString()的较为全面的使用介绍
- (博弈论)hdoj 1079 Calendar Game
- UNIX时间与本地时间的转换
- js 精美倒计时
- 使用C#开发ActiveX控件
- 初识分布式计算:从MapReduce到Yarn&;Fuxi
- 蚂蚁金服安全实验室首次同时亮相BlackHat Asia 以及CanSecWest国际安全舞台
- dos2unix(windows脚本文件放到unix下运行要注意)
- 面向对象的 __slots__
- Eclipse java文件、包、工程左下角有感叹号原因及处理方法
- C++ Random 的使用
- Java并发编程:线程的生命周期是个怎样的过程?