various system release [online]
1、 金丝雀发布 Canary 简单的金丝雀测试一般通过手工测试验证,复杂的金丝雀测试需要比较完善的监控基础设施配合,通过监控指标反馈,观察金丝雀的健康状况,作为后续发布或回退的依据。 金丝雀发布,一般先把新版本发布到单集群1台服务器,或者一个小比例,主要做流量验证用。 如果金丝测试通过,则把剩余的原有版本全部升级为新版本。如果金丝雀测试失败,则直接摘除金丝雀的流量,宣布发布失败。 金丝雀发布,简单可控不粗暴!初创型公司比较适合。 2、 一群金丝雀发布 单服务器集群滚动发布,老司机给起个名字叫“一群金丝雀发布”。 单服务器集群滚动发布,在金丝雀发布基础上的进一步优化改进,是一种自动化程度较高的发布方式,用户体验比较平滑,是目前成熟型技术组织所采用的主流发布方式。 前提:滚动发布需要比较复杂的发布工具和智能 LB,支持平滑的版本替换和流量拉入拉出 单服务器集群滚动发布实践起来这样的: 1. 先发 1 台,或者一个小比例,主要做流量验证用,是不是很像金丝雀 (Canary) 测试; 2. 每次发布时,先将老版本流量从LB上摘除,清除老版本,发布新版本,再将LB流量接入新版本; 3. 滚动式发布每次操作一般由若干个批次组成,每批的数量一般是可以预设的(使用发布模板设定)。例如:第一批2%,第二批10%,第三批50%,第四批100%。每批上线之间留观察间隔