关于项目发布宕机所想
程序员文章站
2022-07-14 18:53:34
...
对于互联网创业团队来说,初期的公司规模小,业务量不大,人员不齐,网站部署发布不规范偶尔导致网站宕机的错误成本没有太大体现。
当业务量上来后,不管是用户体验还是企业信任角度来说,人为可消除的宕机事故就非常严重了。
对于此次事故,首先要摆正自己的认知态度,部署是自己成果的对外交付,可以说是最神圣的事情。需要做到对自己负责,对工作负责,对公司负责。其次做事就要有做事的样子,要足够专业,要求自己更专业的去做事。
对于一个成熟产品来说,功能的升级固然是重要的,但是确保系统运行稳定,性能可靠是更重要的事情。
由于目前还做不到完全自动化部署,在此分享一下当前的部署方案,还有提出一些防范措施。
1.跳板机的使用
发布操作,使用跳板机安全管理,权限管理。
2.流量切分平滑部署
举例2台服务器:部署1号机器,先将全部流量切到2号机器,部署完1号机器,再平分流量到1/2号。部署2号机器,将全部流量切到切到1号机器,部署完2号机器,再平分流量到1/2号。
每台机器部署完要确保机器服务进程正常,服务日志正常,页面访问正常。
3.窗口期
对于核心系统,设立发布窗口期,比如每月15号。
4.挂维护
对于耗时较长的发布,需要在系统影响最低的时间发布,并挂维护页面通告。
5.规范化
没有上过测试的代码,不能发布。
系统忙时尽量不发布。
发布时,所有代码相关人员在场等发布完。
发布时严格按照发布流程发布,并做到:发布-检查-确认。
发布责任人轮值制度
当业务量上来后,不管是用户体验还是企业信任角度来说,人为可消除的宕机事故就非常严重了。
对于此次事故,首先要摆正自己的认知态度,部署是自己成果的对外交付,可以说是最神圣的事情。需要做到对自己负责,对工作负责,对公司负责。其次做事就要有做事的样子,要足够专业,要求自己更专业的去做事。
对于一个成熟产品来说,功能的升级固然是重要的,但是确保系统运行稳定,性能可靠是更重要的事情。
由于目前还做不到完全自动化部署,在此分享一下当前的部署方案,还有提出一些防范措施。
1.跳板机的使用
发布操作,使用跳板机安全管理,权限管理。
2.流量切分平滑部署
举例2台服务器:部署1号机器,先将全部流量切到2号机器,部署完1号机器,再平分流量到1/2号。部署2号机器,将全部流量切到切到1号机器,部署完2号机器,再平分流量到1/2号。
每台机器部署完要确保机器服务进程正常,服务日志正常,页面访问正常。
3.窗口期
对于核心系统,设立发布窗口期,比如每月15号。
4.挂维护
对于耗时较长的发布,需要在系统影响最低的时间发布,并挂维护页面通告。
5.规范化
没有上过测试的代码,不能发布。
系统忙时尽量不发布。
发布时,所有代码相关人员在场等发布完。
发布时严格按照发布流程发布,并做到:发布-检查-确认。
发布责任人轮值制度