论文部分内容阅读
上海移动正在重构自己的计费系统,全力打造计费三朵云——应用云、详单云和MDB云。对于这次“大动干戈”,上海移动信息系统运营部副总经理蔡加祺给出的缘由是“中国速度”:智能终端数量猛增,数据业务话单量爆发式增长,而除夕一天的话单量是平时的5倍;与此同时,计费方式也在不断演进,从离线计费到在线计费再到资费包计费,并开始互联网化。他说:“硬件发展的摩尔定律追不上中国移动的发展速度,4G时代,云化成为解决之道。”
“惊呆了的小伙伴”
上海移动计费系统重构的目标有两个:在保持原有计费账务业务能力的基础上新增对资费包计费模式的支撑,实现计费的互联网化转型;引入全新的分布式计费架构,提升计费系统处理效率,适应中国速度的发展。整个项目涉及70多个子系统的改造、2000多个功能菜单的梳理和开发、2200多个外围平台接口的联调测试以及2500多万用户数据的割接,自2011年8月15日项目启动到2013年1月11日应用云部分正式上线,历时16个月。2013年7月,账单云也正式上线;按计划, MDB云最晚2014年3月也会正式启用。
应用云的本质是一套可扩展的云化流处理引擎,将传统头尾连贯的业务逻辑打碎,以不同的服务组件完成不同的服务环节,并通过一个无状态的任务总线承担任务调度和路由的功能,由此完成整个应用的分布式的流处理。
详单云又包括两朵子云:查询云和数据集市云。查询云主要满足实时账单查询对高并发读写有着非常高的性能需求,由于实时查询条件单一,适合提前预制查询条件,查询云是基于Hadoop平台的。而数据集市云主要满足复杂账单随机查询和统计分析需要,这需要支持灵活的SQL语句,需要支持在无索引条件下的快速查询、统计和分析,是基于大规模并行数据库MPP技术。蔡加祺特别指出,由于无法预见突发的即时查询和统计分析会占用多少系统资源,是否会影响前台的用户体验,因此上海移动根据账单不同阶段数据查询和统计分析的不同需求分别采取了不同的数据库技术,不但保证了性能最优,同时实现了性能隔离,更好地保障了用户体验。
而MDB分布式改造新增加了10台x86服务器,其中有2台作为路由机,其他8台作为MDB机。2台路由机采用一主一备的方式,都提供查询功能。8台MDB机每台机器上部署同样的应用(用户MDB、应用MDB和余额管理MDB),即同质化部署,这样每台机器可以固定支撑一定的用户量,在后续的扩展时,可以通过简单的增加机器即可获取相应的支撑能力。MDB的8台机器每两台之间做互备,一台机器上运行主MDB同时备份另一台机器上的MDB。为了使新增MDB机器时不影响已在运行的系统,新增的机器需要形成主备的模式,即新增机器的数量需要成对,这样就可以不用调整已在运行的系统部署架构,从而使新增机器的过程中能继续提供不间断服务。
在云计算时代,业务应用的承载从RISC向x86平台迁移是大势所趋。在云化之前,上海移动的计费系统是全部运行在IBM小型机上,一共9台,而新系统是运行在26台基于英特尔至强E7平台的IBM3580服务器上的。在迁移之前,上海移动事先做了严格的压力测试,结果让蔡加祺和他的“小伙伴们惊呆了”。传统基于小机的计费系统的批价(根据既定的原则和规则,对用户使用网络的情况计算费用)延时<15min,批价效率是1:2,投资约为1300万;而基于x86服务的云计费系统的性能预期是批价延时<10min,批价效率是1:6,而投资仅仅在500万左右。目前新计费系统总吞吐量达到90000TPS,2014年3月完成MDB云化后,将超过180000TPS,同时实现了TPS随设备的线性增长能力。
极限运算的陷阱
对于这次计费系统的重构以及x86迁移,蔡加祺还重点共享了他们的宝贵经验。
非常重要的一点是,从小机迁移到x86,应用需要更强壮。小型机在高负荷运转下的平均无故障时间约在12 到18个月左右,而x 8 6服务器在加电后的第一个月处于故障高发期,需要密切监控。上海移动针对x 8 6云化场景的健壮性设计是这样的:任务总线采用双机热备方式,任意节点异常,备份节点实时接管;所有任务队列支持异常重处理机制,通过重处理剔重机制保障所有话单仅仅倍计费一次;每个内存数据库都同时在不同设备中开启两个副本,实现交易同步,一旦发生异常,可实现自动接管。
此外,蔡加祺还提到了在极限运算场景中的两个陷阱:线程数与CPU核数的匹配问题以及跨节点的网络集群协同的时延问题。
在类似MDB这样的内存集中访问的应用场景下,外部访问连接数(线程数)和CPU核数的最佳匹配关系,最好不超过20:1。在上海公司新计费系统第一阶段上线后,单台MDB设备最大连接数(线程数)达到了4000以上,线程与核数之比超过124:1,CPU大量时间耗费在线程切换上。因此,上海移动立即启动了MDB云化工作,将MDB进行拆分,并采用带超线程(HT)技术的芯片,极大降低了单核线程数,使得系统效率成倍上升。
在小机时代,大部分应用只在单机上完成,所有运算节点不需要通过复杂的网络传输和调用完成。当计费应用彻底云化后,通过寻址技术,把原来集中在一台设备上的工作打散进行实时云化的流计算,在提高系统扩展性的同时,大量的耗时集中在网络络交互上。上海移动通过本项目建设测算出:计费系统在云化后,在单条话单批价耗时中,网络延时占到了30%。因此,选择低延时的以太网技术或者Infiniband组网技术将极大提升云计算效率。
“整个计费系统云化之后,运维和管理问题该怎么做。”是上海电信下一步所面临的问题。蔡加祺认为,简化IT成为数据中心发展的大方向,面对复杂的IT环境,易部署、易管理和维护成为企业用户的刚性需求,因此软硬一体化的IT基础设施是一个重要的思路和发展方向。
“惊呆了的小伙伴”
上海移动计费系统重构的目标有两个:在保持原有计费账务业务能力的基础上新增对资费包计费模式的支撑,实现计费的互联网化转型;引入全新的分布式计费架构,提升计费系统处理效率,适应中国速度的发展。整个项目涉及70多个子系统的改造、2000多个功能菜单的梳理和开发、2200多个外围平台接口的联调测试以及2500多万用户数据的割接,自2011年8月15日项目启动到2013年1月11日应用云部分正式上线,历时16个月。2013年7月,账单云也正式上线;按计划, MDB云最晚2014年3月也会正式启用。
应用云的本质是一套可扩展的云化流处理引擎,将传统头尾连贯的业务逻辑打碎,以不同的服务组件完成不同的服务环节,并通过一个无状态的任务总线承担任务调度和路由的功能,由此完成整个应用的分布式的流处理。
详单云又包括两朵子云:查询云和数据集市云。查询云主要满足实时账单查询对高并发读写有着非常高的性能需求,由于实时查询条件单一,适合提前预制查询条件,查询云是基于Hadoop平台的。而数据集市云主要满足复杂账单随机查询和统计分析需要,这需要支持灵活的SQL语句,需要支持在无索引条件下的快速查询、统计和分析,是基于大规模并行数据库MPP技术。蔡加祺特别指出,由于无法预见突发的即时查询和统计分析会占用多少系统资源,是否会影响前台的用户体验,因此上海移动根据账单不同阶段数据查询和统计分析的不同需求分别采取了不同的数据库技术,不但保证了性能最优,同时实现了性能隔离,更好地保障了用户体验。
而MDB分布式改造新增加了10台x86服务器,其中有2台作为路由机,其他8台作为MDB机。2台路由机采用一主一备的方式,都提供查询功能。8台MDB机每台机器上部署同样的应用(用户MDB、应用MDB和余额管理MDB),即同质化部署,这样每台机器可以固定支撑一定的用户量,在后续的扩展时,可以通过简单的增加机器即可获取相应的支撑能力。MDB的8台机器每两台之间做互备,一台机器上运行主MDB同时备份另一台机器上的MDB。为了使新增MDB机器时不影响已在运行的系统,新增的机器需要形成主备的模式,即新增机器的数量需要成对,这样就可以不用调整已在运行的系统部署架构,从而使新增机器的过程中能继续提供不间断服务。
在云计算时代,业务应用的承载从RISC向x86平台迁移是大势所趋。在云化之前,上海移动的计费系统是全部运行在IBM小型机上,一共9台,而新系统是运行在26台基于英特尔至强E7平台的IBM3580服务器上的。在迁移之前,上海移动事先做了严格的压力测试,结果让蔡加祺和他的“小伙伴们惊呆了”。传统基于小机的计费系统的批价(根据既定的原则和规则,对用户使用网络的情况计算费用)延时<15min,批价效率是1:2,投资约为1300万;而基于x86服务的云计费系统的性能预期是批价延时<10min,批价效率是1:6,而投资仅仅在500万左右。目前新计费系统总吞吐量达到90000TPS,2014年3月完成MDB云化后,将超过180000TPS,同时实现了TPS随设备的线性增长能力。
极限运算的陷阱
对于这次计费系统的重构以及x86迁移,蔡加祺还重点共享了他们的宝贵经验。
非常重要的一点是,从小机迁移到x86,应用需要更强壮。小型机在高负荷运转下的平均无故障时间约在12 到18个月左右,而x 8 6服务器在加电后的第一个月处于故障高发期,需要密切监控。上海移动针对x 8 6云化场景的健壮性设计是这样的:任务总线采用双机热备方式,任意节点异常,备份节点实时接管;所有任务队列支持异常重处理机制,通过重处理剔重机制保障所有话单仅仅倍计费一次;每个内存数据库都同时在不同设备中开启两个副本,实现交易同步,一旦发生异常,可实现自动接管。
此外,蔡加祺还提到了在极限运算场景中的两个陷阱:线程数与CPU核数的匹配问题以及跨节点的网络集群协同的时延问题。
在类似MDB这样的内存集中访问的应用场景下,外部访问连接数(线程数)和CPU核数的最佳匹配关系,最好不超过20:1。在上海公司新计费系统第一阶段上线后,单台MDB设备最大连接数(线程数)达到了4000以上,线程与核数之比超过124:1,CPU大量时间耗费在线程切换上。因此,上海移动立即启动了MDB云化工作,将MDB进行拆分,并采用带超线程(HT)技术的芯片,极大降低了单核线程数,使得系统效率成倍上升。
在小机时代,大部分应用只在单机上完成,所有运算节点不需要通过复杂的网络传输和调用完成。当计费应用彻底云化后,通过寻址技术,把原来集中在一台设备上的工作打散进行实时云化的流计算,在提高系统扩展性的同时,大量的耗时集中在网络络交互上。上海移动通过本项目建设测算出:计费系统在云化后,在单条话单批价耗时中,网络延时占到了30%。因此,选择低延时的以太网技术或者Infiniband组网技术将极大提升云计算效率。
“整个计费系统云化之后,运维和管理问题该怎么做。”是上海电信下一步所面临的问题。蔡加祺认为,简化IT成为数据中心发展的大方向,面对复杂的IT环境,易部署、易管理和维护成为企业用户的刚性需求,因此软硬一体化的IT基础设施是一个重要的思路和发展方向。