1.0.5 • Published 2 years ago
pp-ndp v1.0.5
ndp
简介:ndp 优雅发布,实现了以下请求
/health/status
/health/online
/health/offline
/health/check
详细规则参考
- 你在NDP点击了部署按钮。
- NDP在 线上服务器请求 http://127.0.0.1:port/offline_url 然后sleep 一段时间。
- 线上服务器收到offline请求,把 全局变量改变为false。
- nginx前端 每3秒 探测一次 http://你的服务器的ip:port/status_url ,返回了500,nginx认为当前服务器 不可用。停止给当前服务器 转发流量。
- NDP从sleep中醒来,然后开始删除目录,重新开始部署文件。
- NDP 重新启动 你的应用。
- NDP开始执行 http://127.0.0.1:port/check_url 看看你的应用起来没,默认尝试2次。一直尝试,直到你的应用返回200状态码。
- NDP确认 线上服务器的应用启动完毕后,在 线上服务器 请求 http://127.0.0.1:port/online_url。【思考一下,你的全局变量默认要初始化为false 哦,否则一部署应用,你的应用就立马上线了,可能刚开始那几秒扛不住流量】
- 线上服务器收到online请求,把 全局变量改变为true。
- nginx前端 每3秒 探测一次 http://你的服务器的ip:port/status_url ,返回了200,nginx认为当前服务器 可用。开始 给当前服务器 转发流量。
- 应用更新完成,且有流量进入,完成更新。