软件部署与更新的实用技术与策略
1. 比例分流与蓝绿部署
1.1 比例分流
比例分流技术在过渡期间需要两倍的容量。如果服务能在一台机器上运行,在升级期间让两台机器运行是合理的。但如果有 1000 台机器,这种方式成本会非常高,因为保留 1000 台备用机器可能超出预算。在这种情况下,当一定比例的流量转移到新集群后,一些旧机器可以回收并重新部署到新集群中。
1.2 蓝绿部署
蓝绿部署与比例分流类似,但不需要两倍的资源。在同一台机器上有两个环境,一个称为“蓝色”,另一个称为“绿色”。绿色是实时环境,蓝色是休眠环境。可以通过两个不同的子目录这种简单机制实现,每个子目录用作同一 Web 服务器的不同虚拟主机。蓝色环境消耗的资源很少。当新版本要上线时,将流量导向蓝色环境。过程完成后,交换两个环境的名称。这种系统允许轻松回滚到上一个环境,是为未针对零停机部署设计的应用程序提供零停机部署的简单方法,只要应用程序支持安装在同一台机器的两个不同位置。
2. 功能切换
2.1 功能切换原理
将每个新功能与软件标志或配置设置关联起来,这样可以单独打开或关闭这些功能,切换开关称为标志翻转。未完成且不适合实时用户使用的新功能,其标志处于关闭状态。准备好使用时,打开标志。如果发现问题,可以禁用该功能。关闭标志也称为将功能隐藏在标志后面。功能切换实现了部署和发布解耦的原则,部署是将包放入环境,发布是让用户使用功能。实际上,功能切换使部署和发布这两个概念解耦,部署可以随时进行,而发布按需进行,部署成为用户不知情的纯技术活动。
超级会员免费看
订阅专栏 解锁全文
5万+

被折叠的 条评论
为什么被折叠?



