代码上线的十二个步骤

获取代码===>编译java代码===>配置文件放入密码文件修改===>打包====>拷贝到目标服务器===>集群中移除节点===>解压===>放入部署目录===>拷贝差异文件===>重启==>测试 ===>加入集群

第五步:scp服务器上面需要开启对其他服务器的sshkey验证不需要密码

第六步移除目标服务器在集群nginx注释服务器地址,/nginx/sbin/nginx -t reload 一下就可以

haproxy执行socket命令关闭节点,不需要改配置文件

所有的web服务都应该使用普通用户,不能用root启动,入侵后麻烦很大.

所有的web服务除了负载均衡都不监听80端口,除了负载均衡

负载均衡使用suid执行启动80端口,普通用户启动.由于普通用户无法启动80端口,用suid才能启动

4.代码上线

1. 测试环境 2. 固定的上线时间以及次数 3. 上线要做好失败准备  -- 回滚(mv、软连接)

AB分组上线

如果是php,直接备份,推送代码 如果是java,python 直接备份,推送代码,再重启生效  java重启比较慢

灰度发布

灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。 灰度期:灰度发布开始到结束期间的这一段时间,称为灰度期。

用户的IP地址判断

智能DNS调度

www.baidu.com

1.1.1.1   老官网

2.2.2.2   新官网

223.5.5.5    www.baidu.com  1.1.1.1 202.106.0.20 www.baidu.com  2.2.2.2

智能DNS 判断DNS的IP给它返回不同结果

原文地址:https://www.cnblogs.com/gaoyuechen/p/7921764.html