网络架构实战课
谢友鹏
某大厂技术专家
873 人已学习
新⼈⾸单¥59
网络架构实战课
15
15
1.0x
00:00/00:00
登录|注册

07|控影响:怎样可靠升级服务?

你好,我是谢友鹏。
在软件生命周期中,服务升级是不可避免的。无论是引入新功能、修复漏洞,还是提升性能和安全性,升级都是企业技术进步的重要组成部分。然而,变更操作往往伴随高风险,因此如何在升级过程中确保服务的高可用性,并最大程度地减少对用户的影响,始终是技术团队和业务部门需要重点关注的问题。
这节课我们就来看看如何在服务升级中有效控制影响,确保升级的可靠性。之后,我们还会深入分析网络服务如何实现无中断升级

变更风险控制策略

变更的影响可以从变更前的预防、变更中的谨慎操作来进行控制。
变更前的风险控制主要聚焦于预防,我始终秉承的原则是——预防比救火更为重要。在这个阶段,预防风险的核心是准确评估变更的影响面。只有充分评估影响面,我们才能做出有效的测试和观察计划,并与测试团队进行高效的沟通。
然而,变更往往充满不确定性,我们难以保证每一次变更都能准确评估出影响。因此,除了依赖影响评估外,我们还需要设计一些兜底的流程来应对潜在风险,一些实践中证明有效的措施包括代码审查(CR)、构建 CI 基本用例、单元测试覆盖、黑盒测试。
除了这些技术性的预防措施,还需要提前设计好灰度发布回滚策略,以应对潜在的失败风险。常见的灰度维度有:白名单、用户 ID、设备 ID、地域、服务端机器、业务类别、流量比例等。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
  • 解释
  • 总结

1. 服务升级是软件生命周期中不可避免的,需要有效控制影响,确保升级的可靠性。 2. 变更风险控制策略包括变更前的预防和变更中的谨慎操作,需要准确评估变更的影响面并设计兜底的流程来应对潜在风险。 3. 灰度发布和回滚策略是预防变更失败的关键,需要设计好灰度维度和确保在发生问题时能够迅速恢复到先前版本。 4. 控制灰度节奏的核心目标是在变更过程中最大限度地减少潜在问题对系统和用户的影响,需要合理的灰度发布和留出足够的时间来观察系统行为。 5. 监控与告警是为了及时发现问题,常用的监控和告警指标包括服务可用性指标、资源消耗和错误日志。 6. 在服务升级中,可以通过管控系统协调待升级的服务和下游服务之间的交互,来减少升级对客户端请求的影响。 7. Nginx的升级流程步骤包括启动新进程、老进程继续处理未完成的请求并关闭连接退出,需要理解Nginx的进程模型和信号量。 8. 在Nginx升级过程中可以备份原来的二进制,向正在运行的master进程发送USR2信号,向老master发送WINCH信号,向老master发送QUIT信号等操作来完成升级。 9. 理解Nginx的进程模型和信号量,以及Nginx详细的升级过程对于实现不中断服务的升级方式至关重要。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《网络架构实战课》
新⼈⾸单¥59
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部
文章页面操作
MAC
windows
作用
esc
esc
退出沉浸式阅读
shift + f
f11
进入/退出沉浸式
command + ⬆️
home
滚动到页面顶部
command + ⬇️
end
滚动到页面底部
⬅️ (仅针对订阅)
⬅️ (仅针对订阅)
上一篇
➡️ (仅针对订阅)
➡️ (仅针对订阅)
下一篇
command + j
page up
向下滚动一屏
command + k
page down
向上滚动一屏
p
p
音频播放/暂停
j
j
向下滚动一点
k
k
向上滚动一点
空格
空格
向下滚动一屏
播放器操作
MAC
windows
作用
esc
esc
退出全屏
⬅️
⬅️
快退
➡️
➡️
快进
空格
空格
视频播放/暂停(视频全屏时生效)