摘要
12306混合云成功案例给予最大的启发就是打造一个从下到上都可做弹性扩展的“云应用”系统,企业客户可将关键业务的“子系统”部署在资源丰富的云计算数据中心,“云化”后的子系统可“按需”获取所需要的服务器虚机资源和动态调整网络带宽,利用这些资源解决在高流量和高负载情况下,系统无法快速弹性扩展导致的性能瓶颈。
此篇文章列举不同类型的系统改造迁移到云平台方案,从改造思路探讨,系统框架设计和项目实施的整个迁移过程,供大家参考和交流。在此以Pivotal Gemfire云平台为例子, 因为它已有大规模部署成功案例。 客户IT环境是五花八门, 对系统改造的思路和目的也不尽相同,Gemfire是不错的选择,但它不是唯一的选项。
前言
在过去20年,系统架构师最常用的系统框架是三层架构设计, 即Web层, 应用业务逻辑层和数据库层;Web层和应用逻辑层可随着业务变化做快速弹性扩展,但绝大部分关系型数据库层无法实现此功能。 在云计算,大数据和移动互联网时代,由于业务成长快速,服务多样化, 数据量急剧增加,用户对系统响应时间有更严格的要求; 在高负载情况下,无法横向扩展的数据库层往往成为系统性能的绊脚石。
在此篇文章,讨论重点是从软件中间件平台(PaaS)和应用系统(SaaS)层面出发,使用“分布式内存数据网格( In Memory Data Grid)”技术,将传统架构改造迁移到云平台。系统改造有多种不同的方式,主要是要看改造的目的和所受的限制来决定; 为了具体化说明, 我们以下列三个案例提供给读者参考和交流。
- 12306项目:整个售票环节的一系列核心子系统都经过高度“云化”。 目的是可以将云化后的子系统“按需”灵活部署在不同的数据中心(公有云或私有云),提供优质服务。 云化的手段是将子系统业务逻辑和数据都放在Gemfire集群上执行, 利用Map Reduce的技术,建立可弹性扩展平台,提供“高性能CPU计算能力”。
- 某市社保项目:采取短平快的局部“子系统云化”,针对有高并发需求会导致瓶颈的子系统进行改造。改造的手段是将子系统业务逻辑和数据放在Gemfire节点上执行, 建立可弹性扩展平台,利用Gemfire分布式并行查询技术来解决“高并发查询”的要求。
- 金融单位POC测试项目: 问题在于系统的查询业务量多,关联表格多,在高并发情况下,查询反应时间长。 POC目的是要验证在不更改子系统业务逻辑限制下,以最小的代价,对“数据访问层 (DAO)”进行修改,建立可扩展的“内存数据缓存层”,解决“高并发查询“的方案;另外,还有数据库与Gemfire集群之间“失效转移 fail over”的设计。 以此为基础,以后再将业务逻辑逐渐放到Gemfire平台,进行改造升级。
一、12306 混合云的启示
在前两篇文章提到,2012年春运后12306承办单位-铁科院引入”分布式内存数据网格” 技术,将余票计算/查询子系统改造迁移到Gemfire云平台,局部解决12306的主要瓶颈;改造后的子系统在2013年春运时上线,其效果是显著的,虽然整个系统运行还是有”卡,顿”等不足之处,但铁科院对此技术深具信心坚持改革,才有后续一连串的子系统改造出炉。在2015年春运,建立两地三中心混合云的服务模式,将大部分余票查询流量引导到阿里云提供查询服务;此举的目的是要借助云计算数据中心的资源,“临时性”解决在春运期间由于互联网购票和刷票软件所引发的难预测,高流量,和高并发请求,降低系统不稳定的风险。
12306混合云成功案例最大的启发是给企业客户和政府部门带来新的思路,就是将关键业务的“子系统”改造迁移到云平台架构,根据实际情况,将“云化”后的子系统部署在资源丰富的云计算数据中心(私有云或公有云)。 例如, 12306核心系统在经过全面改造和优化后, 每个云化后的子系统都具有特定的独立性,因为相关数据都放在Gemfire内存数据网格节点;这意味着这些子系统类似“云”一样, 可以随着业务需求变大或变小,一分为多,任性的漂移到多个不同数据中心来协同合作,避免在IT设备方面的重复投资, 并提高资源的使用率。
(责任编辑:纵易网络)