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

页面上点击一下就可以了,可以说是非常的自动化了已经。

最新文章

  1. Android 学习第16课,java 包、类等相关的一些基础知识
  2. Linux入侵检查思路及其命令 转自https://yq.aliyun.com/articles/24250?spm=5176.100239.blogcont24249.12.rbBrIh
  3. windows 配置 apache + php
  4. ionic + cordova 配置和开发过程中的一些问题
  5. 记一次mysql故障恢复
  6. VS2012编译VS2010版本的过程报错解决
  7. 【linux】暂时解决sis m672(神舟F4000 D9) linux驱动 宽屏分辨率的问题?
  8. pcr free library 介绍
  9. [转] DateTime.Now.ToString()的较为全面的使用介绍
  10. (博弈论)hdoj 1079 Calendar Game
  11. UNIX时间与本地时间的转换
  12. js 精美倒计时
  13. 使用C#开发ActiveX控件
  14. 初识分布式计算:从MapReduce到Yarn&Fuxi
  15. 蚂蚁金服安全实验室首次同时亮相BlackHat Asia 以及CanSecWest国际安全舞台
  16. dos2unix(windows脚本文件放到unix下运行要注意)
  17. 面向对象的 __slots__
  18. Eclipse java文件、包、工程左下角有感叹号原因及处理方法
  19. C++ Random 的使用
  20. Java并发编程:线程的生命周期是个怎样的过程?

热门文章

  1. 深入理解vue路由的使用
  2. phonegap工程搭建基础(一)
  3. 需要配置执行path?no
  4. hadoop安全之hftp
  5. Vue2.0 视频教程
  6. AVL平衡树的插入例程
  7. linux find prune排除某目录或文件
  8. ZOJ 3156 Taxi (二分匹配+二分查找)
  9. 宜人贷蜂巢ELK Stack之elasticsearch权限探索
  10. 2016年最值得新手程序猿阅读的书:《增长project师指南》