Canary 发布是一种最初将更改发布给一小部分用户的部署策略。
随后使用业务 KPI 和运营指标仔细监控系统是否存在问题迹象。 一旦您确信您的更改没有对功能、性能或安全性产生不利影响,就可以分批或一次性向其余用户推出这些更改。
可以将接收更新的最初一部分用户比喻成煤矿中的金丝雀;如果在发布后检测到问题,那么损害仅限于他们。 因此,您的大多数用户仍然不知情且不受影响。 在部署无法在暂存环境中进行充分测试的高风险更改时,Canary 发布非常有用。
对于基于 Web 的系统,实现 Canary 发布涉及托管您产品的两个版本,控制路由到每个版本的流量,以及主动监控两者的运行状况。 对于已安装的产品,您可以向一部分用户提供新版本。 尽管如此,您很难控制他们何时应用更新,因此可能需要更长的时间来确定您的更改是否准备好向更多用户发布。