如何部署服务


#软件架构与思考


服务有了新版本,我们需要重新发布该服务,有哪些方式呢 ?

假设该服务有10个实例,可以有以下发布模式。

蓝绿部署 (Blue-green Deployment)

  1. 旧版本的10个实例保持运行状态
  2. 为新版本生成10个实例
  3. 将旧版本的流量直接切换到新版本

金丝雀发布 (Canary Release)

也叫灰度发布。流程如下:

  1. 旧版本的10个实例保持运行状态
  2. 为新版本生成10个实例
  3. 将旧版本的流量逐步切换到新版本,比如以5%的步长进行切换,切换过程中注意观察服务

或者是:

  1. 旧版本的10个实例保持运行状态
  2. 为新版本生成1个实例
  3. 将旧版本的部分流量切换到新版本服务的实例中,观察无问题,则继续为新版本生成实例、切换流量,至旧版本无流量位置。


( 本文完 )