码迷,mamicode.com
首页 > 其他好文 > 详细

从单体到分布式,如何做到无损发布?

时间:2020-05-07 10:46:15      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:控制台   分布   依次   https   profile   需要   如何   code   mic   

 由于我们的系统是7*24小时不间断为用户提供服务的,如果直接发布那些正在访问的用户就会访问失败,给用户带来不好的使用体验,也会给公司带来经济损失,所以我们一般会选择在凌晨用户少的时候去发布。

 

为了发布不要影响到用户访问,为了不再在凌晨三点熬夜发布版本,无损发布就显得非常重要了。

那么能做到无损发布吗?答案是肯定的,需要nginx和web server配合完成,请看下面的流程图。

无损发布流程

1,初始状态

有两个web server节点组成的集群。

技术图片

 

 2,下线web-server1

给nginx发送指令(动态修改upstream,下面会讲到),下线web-server1。

技术图片

 

 3,部署和验证web-server1

web-server1下线之后,就可以开始部署和验证了,发布完成之后,可以直连到这个节点进行验证。

 

4,上线web-server1

验证没有问题之后,就可以上线了。

技术图片

 

 

5,按以上步骤依次发布其它节点

 远程管理

那么,可能会有读者会问怎么给nginx发送指令呢?我们可以借助nginx的第三方扩展模块:ngx_http_dyups_module

因为ngx_http_dyups_module提供了restful的接口,所以我们基于此开发一个管理控制台,做到远程管理,类似于下面这样。

技术图片

 

 

欢迎大家扫描下方二维码获取我的最新原创文章:

技术图片

 

  

从单体到分布式,如何做到无损发布?

标签:控制台   分布   依次   https   profile   需要   如何   code   mic   

原文地址:https://www.cnblogs.com/mcgrady/p/12841315.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!