应用维护与多版本 Ruby 管理实践
在应用程序的运行过程中,我们难免会遇到各种状况,如服务的停机时间以及不同 Ruby 版本的管理问题。下面我们将详细探讨如何应对这些挑战。
1. 应对应用停机时间
即使我们竭尽全力让 MassiveApp 实现 24/7 不间断运行,但仍可能会出现服务不可用的情况。停机时间可分为两类:
- 计划内停机 :依据预先安排的时间表,主动让 MassiveApp 下线。
- 计划外停机 :因意外情况导致 MassiveApp 意外下线。
1.1 计划内停机的处理
在理想状态下,我们无需安排停机时间。然而现实中,由于数据中心迁移、核心服务或硬件升级、耗时的数据库迁移等原因,我们可能需要让 MassiveApp 下线。为了将计划内停机对客户的干扰降至最低,我们需要做好规划与沟通。
规划停机时间时,需考虑以下两个方面:
- 选择停机窗口 :通常选择使用 MassiveApp 的用户最少的时间段。通过收集的指标数据来确定这个时刻,并设置停机窗口,使该时刻处于窗口中间。若停机窗口在半夜,我们要设两个闹钟,提前一小时起床,确保在窗口开始时保持清醒。同时,至少安排两人在线,开通电话线路,以便在操作过程中有更多思考,避免做出错误决策。此外,将停机窗口设置得比预期长一小时,这样即使提前完成,也会让人感到惊喜。
- 编写操作脚本并进行预演 :详细列出每个必要步骤的脚本,并在非生产环境中进行实践。非生产环境可以是在笔记本电脑上运行的几个 Va
超级会员免费看
订阅专栏 解锁全文
631

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



