软件部署与值班工程师技能全解析
在软件开发和运维领域,高效的部署策略以及值班工程师的专业技能至关重要。本文将详细介绍蓝绿部署、暗启动等部署方式,以及值班工程师的工作流程和必备技能。
蓝绿部署
蓝绿部署是一种重要的部署策略,在无法轻松对流量进行子集划分,或者并行运行不同版本不可行的情况下非常有用。在蓝绿部署中,会保留服务 1.0 作为后备,以防服务 1.1 出现故障。与金丝雀部署不同,每个环境都必须能够处理 100% 的用户流量。在所有用户都需要从出现故障的系统迁移的灾难场景中,能够快速启动并运行并行环境的能力是非常宝贵的。
需要注意的是,与数据库和缓存状态交互的并行部署需要特别小心。应用程序的两个版本必须相互兼容,必须强制执行所有架构的前后向兼容性。
暗启动
暗启动,有时也称为流量影子,是一种将新代码暴露于实际流量中,但对最终用户完全不可见的部署方式。即使暗代码存在问题,也不会影响任何用户。暗启动的软件仍然会被启用,代码会被调用,但结果会被丢弃。这种方式有助于开发人员和运维人员在对用户影响最小的情况下了解他们的软件在生产环境中的表现。
暗启动特别适用于发布特别复杂的更改,以及验证系统迁移。在暗启动中,应用程序代理位于实时流量和应用程序之间。代理会将请求复制到暗系统,比较两个系统对这些相同请求的响应,并记录差异。只有生产系统的响应会发送给用户。
暗启动分为“暗读”和“暗写”两种模式。当只向系统发送读流量且不修改数据时,系统处于“暗读”模式,此时系统可能使用与生产系统相同的数据存储。当也向系统发送写操作且使用完全独立的数据存储时,系统处于“暗写”模式。
在进行暗启动时,由于对同一请
超级会员免费看
订阅专栏 解锁全文
46

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



