概述
蓝绿部署(Blue-Green Deployment)和金丝雀部署(Canary Deployment)是部署中常用的两种策略,用于在生产环境中引入新版本的应用程序或服务。这两种部署策略旨在降低风险并确保新版本的稳定性,同时允许逐步发布或回滚变更。
蓝绿部署中存在两个完全独立的生产环境(通常称为蓝环境和绿环境)被用于部署不同版本的应用程序。最初,蓝环境是当前正在运行的稳定版本,而绿环境是新版本的部署目标。一旦绿环境成功部署并通过测试,可以将流量切换到绿环境,并将蓝环境作为备份或回滚选项保留。这种方式可以确保在生产环境中保持稳定,并在需要时快速回滚到之前的版本。
金丝雀部署是一种逐步发布新版本的策略。在金丝雀部署中,新版本的应用程序或服务仅在一小部分用户或服务器上进行部署,这些用户或服务器被称为金丝雀群体。通过监控金丝雀群体的性能和稳定性,可以评估新版本的表现,并在没有负面影响的情况下逐步扩大金丝雀群体的规模,直到最终将新版本部署到整个生产环境。如果金丝雀部署中发现了问题或负面影响,可以快速回滚到之前的版本,以避免对所有用户造成影响。
AB实验支持按照请求的某些特征做流量的路由:
步骤
首先在容器内部署两个版本的服务,两个版本的Deployment分别挂到reviews-v1和reviews-v2服务下
在网关控制台创建服务,选中reviews
创建路由,在两个版本实现按比例分流或者按query、header域名等分流: