zoukankan      html  css  js  c++  java
  • 充分利用nginx的reload功能平滑的上架和更新业务

    以前更新我们都要停服务更新,不管什么时候更新,都可能有客户在访问,体验不好,二是如果有数据传输,可能会造成数据丢失。

    nginx reload可以不间断更新配置文件,原理就是当我们修改配置文件发起reload命令后,nginx会保持以前的所有连接直到断开,新连接使用新配置,实现无间断切换。

    nginx 支持if命令:我们可以将负载均衡中的服务器A指定我们的测试人员打开,其他客户走服务器B,然后我们在服务器A更新或者上架应用,如此反复,最后改为负载均衡完成切换。

    步骤:

    upstream A{
      server 192.168.3.12;
      server 192.168.3.13;
    }

    upstream B{
      server 192.168.3.14;
    }

    1、修改配置文件

    if ($remote_addr ~ ^192.168.2.192)

    {proxy_pass  http://A;}

    proxy_pass  http://B;

    2、reload配置文件,查看日志,直到服务器A没有客户连接

    3、服务器A更新或上架应用,测试

    4、修改配置文件

    if ($remote_addr ~ ^192.168.2.192)

    {proxy_pass  http://B;}

    proxy_pass  http://A;

    5、reload配置文件,查看日志,直到服务器B没有客户连接

    6、服务器B更新或上架应用,测试

    proxy_pass  http://A;

    proxy_pass  http://B;

    7、reload配置文件,查看日志,直到服务器AB都有客户访问

  • 相关阅读:
    观察者模式 java实现
    Decorator 模式
    Adapter 模式 java 实现
    Singleton 模式 Java,c++实现
    抽象工厂 java实现
    工厂方法模式 java实现
    简单工厂模式 Java实现
    【4】学习JS 数据结构与算法笔记
    【3】JavaScript编程全解笔记(三)
    【3】如何高效学习笔记
  • 原文地址:https://www.cnblogs.com/xuyingzhong/p/8310217.html
Copyright © 2011-2022 走看看