软件系统未来保障策略与实践
在软件开发和维护过程中,我们会面临各种可能影响系统稳定性和可用性的问题。提前考虑软件如何应对这些问题,对于保障系统的正常运行至关重要。
应对异常情况
软件需要考虑处理一些异常情况,比如日期偏差20年、时间倒流一秒、出现技术上不可能的数字(如晚上11:59:60)或存储驱动器突然消失等。当遇到不确定的情况时,默认采取谨慎态度,确保错误能够被及时发现并解决。
缩短升级间隔
我们通常的直觉是尽可能推迟系统恶化问题的出现,如果无法完全消除这些问题的话。但实际上,这可能是个错误。工程师处理问题的频率越高,就越擅长解决这些问题,也更有可能记住需要做的事情并做好相应规划。
以2019年的两个重要时间bug为例:
- GPS周期翻转 :GPS用10字节的存储块表示周数,最多能存储1024个值,即19.7年。当达到第1025周时,会重置为零,可能导致计算机将所有日期回溯20年。1999年首次出现此问题时,由于GPS尚未普及,影响较小。到2019年,几乎所有手机都配备了GPS芯片,且基于GPS开发了大量应用。但由于人们频繁更换支持GPS的设备,手机应用更新无缝且自动,所以2019年的翻转事件基本平稳度过。
- 闰秒 :闰秒是为了使计算机时钟与太阳周期同步而额外添加的一秒。与闰年不同,闰秒不可预测,其出现取决于地球自转速度的变化,而地球自转速度受多种因素影响,包括气候变化。1972年至2020年之间共有28个闰秒,闰秒之间可能存在显著间隔。闰秒间隔较长时,问题往往更严重。例如,云计算和智能手机行业发展期间出现了多年的闰秒间隔,当再次出现
超级会员免费看
订阅专栏 解锁全文

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



