通信,作为一种基础服务,对于大众而言,很多时候就像水、电、气一样,自然而必然,也正是因为如此,一旦出现通信故障,那就是大事故。
所以,通信的高可靠性,一直是通信行业区别于其它行业的特征之一。可以停水,可以停电,但是通信不能停。
一个最简单的例子,在电话线还不是从光猫拉出来的年代,即使停电,家里/公司里的固定电话还可以正常呼叫。
随着通信行业的发展,应用场景越来越多,技术复杂度越来越高,管理难度越来越大,近些年一些大面积的通信故障也时有出现,例如前两年某地市爆出移动网络大面积瘫痪导致手机无法呼叫,这在过去是非常罕见的。
这个世界上,没有100%可靠的东西。
在南方正常工作的电池拿到北方,冬天可能就直接罢工;在北方工作好好的通信系统,可能在南方的一场雷雨中要瘫痪大片;因此,通信系统的可靠性目标,是应该结合应用场景来设定的。
一般而言,通信系统由4部分组成,硬件、软件、(网络)环境、数据,可靠性的设计也围绕4块来展开,但不管如何,总体上,可靠性的设计,离不开架构设计、品质控制、正常处理、异常处理、故障监测与恢复。
一般情况下,常规通信系统,架构设计的难度最大,也最为体现通信系统的技术能力,其既能影响生产/开发成本,也影响其它所有环节的可靠性设计。品质控制,既有硬件的,也有软件的,投入大小,是系统品质最直观的保障手段。正常处理流程是通信系统达标的基础,做不到就是功能都未实现,所以,这一块不达标的系统较为少见。异常处理最易被忽略,这个是通信系统的下水道工程,做的再好,甲方都很难感受到,所以乙方一般也最难以把控在此处的投入,很多设计也许永远不会触发,但是这就像城市排水系统一样,遇上百年大水,可能就是生与死的区别。相对而言,故障的监测与恢复,是投入成本低、见效最明显、性价比最高的一环。
那么一个简陋的通信系统(只实现基础的通信功能),加上可靠性设计后,会增加多少呢?
依据通信系统性质的不同,可能千差万别。
比如呼叫中心,简单系统,与高可靠性系统,实现的都是坐席接打电话功能,功能差异化基本不会有太大差别,假设简单系统的可靠性是50%(一半时间工作正常),复杂系统的可靠性是90%(10天工作有1天出现故障),这40%的可靠性提升,软件部分的投入,至少是10倍的投入差距。
呼叫中心智能化运维
孤立的通信系统,可靠性的提升,总是有极限的;为1%的提升,付出的代价可能是十倍甚至百倍。那么,有没有更简便的方法提升可靠性呢?
有,而且原理十分简单。
这就是冗余设计。不管是冷备、热备,还是异地容灾等,都是冗余设计的不同形式。
一套90%可靠性的通信系统,当存在一套备份时,理论上的可靠性将直接提升到99%(100%-10%×10%),3套提升到99.9%,5套就可以达到5个9,99.999%。
看,5倍投入,就可以将90%的可靠性提升到99.999%,这个代价看起来比孤立提升设计划算得多。
当然,冗余备份的实际操作,难度很大,多套系统的管理协同,其本身也是需要设计存在开销,也存在可靠性问题;而且一些bug类的问题,靠冗余是无法解决的。
所以,系统可靠性设计提升及冗余备份,在高可靠性的通信系统需求实践中,都是必不可少的;特别的,通信系统的维保及服务,又是补充通信系统可靠性设计不足/成本过高的有效补充手段。在通信实践中,可靠性并不是越高越好,当然也不是成本越低越好,我们需要在投入及品质中权衡取舍,适合的才是最优的。
领取专属 10元无门槛券
私享最新 技术干货