云工程实用指南:特性开关、开源协作与高效编程策略
1. 用特性开关维持服务水平
云工程师负责将应用程序设计、监控并部署到云端,这些应用需具备可扩展性、可靠性、可用性和容错性。持续集成和部署新特性的需求,可能与维持可接受的服务水平相冲突。客户既要求新特性快速推出,又期望应用性能可靠。为平衡这两个相互冲突的优先级,可采取以下措施:
- 实施带有一系列自动化测试的 CI/CD 管道,但随着应用增长,开发环境和生产环境的差异会影响在客户发现之前找出所有漏洞的能力。
- 通过特性开关将特性发布与代码部署解耦,实现以下功能:
- 逐步推出新特性:
- 采用环形部署或金丝雀发布,不同用户组逐步接收特性进行测试和风险管理。例如,先让开发团队使用,再是内部用户,最后是所有用户。
- 进行公测,让预选用户访问新特性,以提供现有功能的反馈、识别漏洞并建议新功能。
- 利用断路器和紧急开关关闭性能不佳的特性,而无需回滚到上一版本。
- 在生产环境中测试,验证服务的互操作性。
- 同步需要多个组件或微服务更改的特性推出。
部署代码后,需要监控和可观测性工具收集诊断数据,若出现问题,触发警报启动事件响应流程,以减少对用户的影响。特性开关是这个过程的关键部分,它是一个“如果 - 那么”语句,例如:
if (profile["beta"] == true) {
displayWidget();
}
开始使用特性开关时,可参考以下建议:
- 从小处着手:选择一个特性、一组特性或一个团队开始,避免一次性尝试所有功能。
超级会员免费看
订阅专栏 解锁全文
2182

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



