电信级服务器软件架构

原创
开发 架构
电信级服务器是IT行业对性能、可用性和安全性要求最高的服务器,与一般服务器有本质区别。本文揭开电信级服务器的面纱,介绍了电信级服务器软件设计的几个主要考虑。

电信级服务器是电信运营商使用的网络设备,是对性能、可用性和安全性要求最高的商用服务器,以交换机、路由器等核心网络设备为代表,支撑着计算机网络的发展,并随着电信业务的不断丰富,电信级服务器设备的类型也飞速地发展。

服务器与个人电脑一样都是计算机,以处理器、硬盘、内存、系统总线等组成硬件平台,在硬件平台上运行软件程序。不同之处在于是服务器是针对具体的网络应用特别制定的,与微机在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面存在差异很大。随着信息技术的进步,网络的作用越来越明显,服务器的功能也越来越复杂。而电信级服务器着主要体现在三个关键特征上

·高性能 电信级服务器是为大量的终端用户服务的设备,在业务高峰期要处理海量的数据业务。例如春节前,国人通常会通过手机互发短信问候,对于1个千万人口的国内大型城市,按2010年全国人均发送31条问候短信计算,该市短信系统一共发送3亿1千万短信,即使系统吞吐量峰值是5000条/秒,也需要连续工作17小时多才能发完。而10多个小时才能将短信发给亲友,应该是不会有人满意的,对于北京、上海等2~3千万的特大型城市,系统吞吐量还必须成倍增加。

·高可用性 电信级服务器的要求是 7 x 24 小时不间断服务,满足99.999%的高可用性,这意味着一年内的计划外停机时间只有5分钟。任何时候,一次服务中断对于电信业务来说都是非常严重的事故,以电话业务为例,如果服务器意外中断,大量正在拨号的用户将不能拨通好吗,而大量正在通话的用户的电话会突然中断,这将造成无法估量的损失。

·高安全性 电信级服务器承担着互联网业务数据传输的重要功能。互联网浪潮发展到今天,已经深入了人们的日常生活,保护个人隐私,抵御恶意攻击是电信级服务器的基本要求。以网上购物为例,2011年,淘宝平均每分钟交易4.8万件商品,单日交易额最高达43.8亿元,如果服务器不能保证网上购物业务的安全性,后果是无法想象的。

辩证唯物主义哲学的三大规律之一,量变质变规律告诉我们,事物的量变会引起质变。建造承重300吨的大桥和建造承重30吨的大桥是不一样的;开发可以运行1个小时的程序与开发可以连续运行7 x 24小时的程序是不同的;开发接入10个客户端的服务器,和开发接入1万个客户端的服务器也是不同的。本文将从3个方面介绍电信级服务器软件的设计。

软件流程设计

由于电信业务的时间复杂度是指数级的,要扩大数据规模,提高硬件速度是没有效果的,必须采用更优的计算模式。我们从数据流程的角度,将计算模式分为两种,同步模式和异步模式。

同步模式下,数据是服务器一个一个地处理的,前一个数据处理完再处理下一个数据,对于多核和多CPU的平台,可以同时并发处理n个数据(n是CPU数量)。假设A节点通过B服务器与C节点交互,同步模式的处理方式如下

同步模式的程序的逻辑简单,软件代码量相对较少,异常处理考虑相对容易。但是对于电信级服务器来说,同步模式的性能是不够的

异步模式下,服务器可以连续地处理数据,通过内部缓存数据处理的中间结果,记录每个数据的处理状态,直到处理完成。

根据我在电信行业十年多的经验,异步模式下系统的吞吐量比同步模式高出一个数量级。但是异步模式程序就比同步模式复杂多了,需要用到内存表、状态机、工作流等技术。而电信级服务器软件一般都是采用异步模式实现。

硬件平台

主流的电信级服务器的硬件平台,经历了由塔式服务器到机架服务器,再到刀片服务器的发展历程。

塔式服务器

 

外形及结构都与普通的PC机差不多,主板扩展性较强,机箱内部往往会预留很多空间,以便进行硬盘,电源等的冗余扩展。缺点是体积较大,占用空间多,不方便管理。

机架服务器

 

外观按照统一标准来设计,配合机柜统一使用。相比塔式服务器,占用空间小,便于统一管理,但由于内部空间限制,扩充性较受限制。

刀片服务器

是一种低成本服务器平台,是专门为特殊应用行业和高密度计算机环境设计的,其主要结构为一大型主体机箱,内部可插上许多“刀片”,其中每一块刀片实际上就是一块系统母板,类似于一个个独立的服务器,它们可以通过本地硬盘启动自己的操作系统。刀片服务器比机架式服务器更节省空间,且扩展性较强。

目前电信级服务器的主流硬件平台是刀片式服务器组成的集群,并以负载均衡、四层交换等技术为基础实现高性能的业务数据的处理。

异常处理

要满足5个9的高可用性要求,很多对于普通服务器来说出现几率很小而可以忽略不计的异常情况,对电信级服务器来说则是必须应对的风险。

·存储空间不足

由于电信级服务器需要不间断处理海量数据,即使配置海量数据存储设备,有定期的数据清理机制,也必须要考虑空间满的情况,要慎重分析业务峰值的压力,确保在空间不足的时候业务不会中断。而相应的常采用的技术方案包括备用存储、告警恢复等等。

·数据库异常

即便是oracle和sybase等业内成熟的商用数据库,支撑电信级服务器时也不能完全避免挂起、死锁等问题。以我在电信行业工作十年的经历,接近1/5的现网问题都和数据库异常有关。所以电信级服务器必须要有在数据库异常时确保业务不中断的机制。

·硬件设备异常

电信级服务器最常出现问题的设备是磁盘/磁阵,我在工作中经常碰到磁阵挂起导致的现网问题。所以设计电信级服务器的时候,必须要有应急机制,避免因为硬件故障导致业务长时间中断。

本文介绍了电信级服务器的三个重要特征:高性能、高可用性和高安全性,并从流程设计、硬件平台和异常处理三个方面简单介绍了电信级服务器的软件设计。当然,电信级服务器软件的架构需要考虑的方面远不只这些,要成功开发的电信级服务器软件,除了扎实地通信领域技术基础,长期的软件开发经验积累,还需要特别能战斗的团队组织。

作者简历

 

责任编辑:张伟 来源: 51CTO
相关推荐

2010-03-15 14:42:31

电信级服务器

2010-12-21 18:18:52

2018-05-18 09:43:37

服务器架构大型网站

2009-01-09 22:45:21

2022-04-28 11:19:13

WebRTC服务器架构

2013-10-24 18:28:04

博通ARMv8-A多核处理器

2024-01-19 11:57:42

2019-09-10 15:22:17

Nginx服务器架构

2019-12-24 14:42:51

Nginx服务器架构

2019-01-10 11:12:15

Nginx服务器架构

2020-05-12 21:17:18

Nginx服务器架构

2010-08-23 17:43:43

DHCP服务器

2019-09-16 15:30:51

2018-12-05 10:10:40

HBase服务器架构

2011-02-25 15:50:49

2011-07-08 14:24:49

邮件服务器U-Mail

2010-01-12 09:32:20

2009-10-10 11:39:22

服务器测试软件

2011-01-11 13:12:48

FileZill服务器软件FTP工具

2012-09-04 13:56:48

LinuxMySQL优化
点赞
收藏

51CTO技术栈公众号