今天在Slashdot上看到了这个:
"一份工程报告发现,铁路信号故障使悉尼4月12日瘫痪(一些通勤者报告行程超过3个小时)是由于LAN交换机和软件无法应对而导致的。
该交换机可能是思科设备(Railcorp的主要LAN工具包供应商),是Sydenham信号站网络的一部分。该设施控制着悉尼铁路网很大一部分的信号。
有罪开关遭受了两个电解电容器(可能是电源)的部分故障。交换机是双冗余LAN的一部分,该双冗余LAN可以应对故障。但是,该配置无法处理间歇性故障。
随着电容帽的失效,开关将关闭并尝试重新启动。工程师的报告说,这意味着Sydenham LAN“陷入了一个循环,不断尝试重新配置自身以应对网络不断变化的状态。”
技术人员启动灾难恢复计划仅花费了十多分钟的时间,但是该过程花费了一个多小时才能完成。那时,管理火车的软件ATRICS无法应对不稳定的网络。这导致了连锁反应,在另一个站点Revesby撤出了一个名为Microloc的系统。
由于ATRICS和Microloc均发生故障,铁路网络无法进入“安全状态”,在该状态下,火车停在原地。由于悉尼铁路网络的相互依存状态极为严重,因此导致847列火车被延迟,240列被取消,并且该系统在4月12日的剩余时间内得以恢复。"
道德:我们都依赖生成树并假设我们具有弹性架构,但是生成树在反复出现的断续故障中表现不佳,而断续故障的发生和发展都快于其收敛时间。世界将永远需要工程师...