系统架构设计:平滑发布和 ABTesting,你都会吗?
作者:翁智华<br> 出处:https://www.cnblogs.com/wzh2010/ 平滑发布的介绍 背景 单位的云办公相关系统没有成熟的平滑发布方案,导致每一次发布都是直接发布,dll文件或配置文件的变更会引起站点的重启。 云办公系统的常驻用户有10000+,即使短短半分多钟,也会收到一堆投诉。基于此,我们梳理了一套平滑发布的方案。 实施方案 1、跟nginx代理服务器约定了一个健康检查的接口 2、通过接口返回的http状态码来让ngx是否分流用户请求(这个我们单位的技术部那边有标准的做法) 3、根据提供的这个服务健康检查的接口:nginx判断只要某个实例的接口返回5xx的状态码,即把该实例下线(nginx不会把流量转发到该实例) 发布流程 目的主要是为了发布的时候能够平滑发布,所以QA与开发人员在发布得时候按照如下步骤操作: 1、打开系统的nginx列表管理页面:[/publish/ngxconfig] 2、下架某一个实例(假设系统集群有A、B、C个实例),比如A实例 3、查看是否下架成功:这个就是我们跟nginx约定的健康检查接口,正常在线状态下是200的st...