水平扩展nginx后端,灰度发布,零停机发布 continuous delivery

核心要素:发送信号让nginx重新加载配置文件

工作流:
  1. 发现后端realserver负载升高
  2. 建立其他后端realserver
  3. 将realserver添加到Nginx负载均衡器的目的地中,更新nginx.conf文件,并作配置文件语法检测nginx -t
  4. 向nginx主进程发送HUP UNIX信号,通知Nginx容器重新加载配置文件
    docker kill -s HUP nginx
  5. Nginx会把流量同时发往后端realserver的新版本和老版本
    如果新版本不能正常工作,我们可以删除Newser池中的主机,向Nginx重新发送HUP信号,从而安全地回滚
events {}
http {
upstream app_server {
  server tomcat00:8000;
  server tomcat01:8000;
  server tomcat02:8000;
  server Newser00:8000;
  server Newser01:8000;
  }
  server {
    location / {
      proxy_pass http://app_server'
    }
  }
}

PS:
使用UNIX信号控制Nginx
https://continuousdelivery.com/

posted @ 2021-05-30 08:34  AlexG  阅读(170)  评论(0编辑  收藏  举报