亚信AIF:大平台,小架构,轻应用

  ■ 文/亚信软件 高级架构师 李春林

天云软件技术开放日沙龙分享已圆满落幕,接下来几天将陆续放出沙龙期间技术大牛们的干货分享现场实录及相关文件,敬请关注。此文为第3篇,由亚信软件高级架构师李春林给大家带来名为“亚信AIF:大平台,小架构,轻应用”的精彩分享,以下为演讲实录。

    李春林:大家好,我来自亚信。我不知道大家在座有多少人了解亚信这个公司?亚信是90年代成立的,创建中国的骨干网ChinaNet,亚信应该算是互联网的先驱了,于2000年在纳斯达克上市。大家知道电信业的BOSS系统,国内有三大运营商,中国电信、中国移动、中国联通,我们给运营商提供BOSS系统。BOSS系统是一个极其复杂的系统,由非常多子系统组成,比如计费、CRM等等。我们是电信运营商的软件集成商、软件提供商。天云软件主要是做底层PAAS下层,我们平台架构AIF主要是PAAS上层,我来自AIF的架构部,我们做一些技术平台,更多是面向开发者的平台。

春01

零几年,年纪稍微大一点用过apache的struts的朋友都知道,它是java界流行的比较早的MVC框架,主要是解决后端、界面、控制逻辑和业务逻辑分层的问题。

随着业务复杂度增加,系统变的越来越大,all in one、系统era包越来越大,每次发布新版本都是一次煎熬。早先在广东、南海做非税系统,系统复杂度比较高,前期采用struts,系统复杂度上来后每次打包发布都需要30多个人员参与,不是a少提交什么类、就是b少修改一个配置,每次发布新版本都极其痛苦;后来我们采用了J2EE来进行子系统分离,采用EJB进行业务模块隔离,把30多人分成7、8个小组负责不同的模块,业务模向接口变成模块之间通过EJB、RMI调用,这样发布新版本只是少许几个人参与即可。

SOA主要解决什么问题呢,举个例子,在零几年的时候,参与做一个运管局的系统。它需要打通各个系统,运管局自己的OA、客运的售票系统、以及车辆管理系统。当时这些系统有用PB、VB、Delphi等语言编写的。当时运管局请IBM做方案、IBM提出使用他们的技术组件,把业务能力暴露成标准的SOAP协议服务,然后进行各个系统贯通。事实上SOA就是把各个异构系统使用web service整合,各个系统能够互联互通。

春02

现在系统都做微服务化、云化。前公司的一个海外站,被拆成130多个微系统,某个系统发布新版本,只需要相关人员在白天操作就可以上线,当然那个系统还可以继续微服务化、云化。通过我们AIF平台非常容易实现业务系统微服务化、云化。微服务化后,服务器资源也能够得到充分的利用,各个系统职责单一,系统之间松耦合,能够简化运维、监控等,故障恢复时间缩短,提高系统整体可用率。

微服务化需要考虑服务粒度与调用效率,微服务化事务、数据一致性,服务对外开放协议适配,微服务化配置、监控等问题;这些问题通过AIF平台云化进行屏蔽,让业务开放人员无忧地构建业务系统。

春3

当然,我们AIF也是随着时间演化而来,在2004年AIF的前身AppFrame1.0诞生,到如今已经发展到6.0版本,使用AppFrame大大提高生产力,这个时代是AppFrame的青铜时代。2015年我们以“大平台,小架构,轻应用”的原则构建企业级互联网架构、对整体进行解耦,孵化了CSF、DADB、Log4x等等优秀组件,诞生了AIF1.0平台;在2016年AIF2.0强化平台+应用的模式,增强对服务的治理,可见、可管、可控。从2015以来是AIF的白银时代。AIF平台不仅适用于电信行业,对互联网系统的支撑也没有任何问题,2016年采用AIF平台实现咪咕一级营销系统成功上线并平稳运行。

春4

AIF遵循几个原则:

应用标准化:统一技术架构,促进应用标准化。

服务透明化:服务接入的规范化,实现服务的可见,可管,可控,支持对服务的持续治理。

应用与技术解耦:通过对开源软件的封装,降低开发门槛和TCO的同时,实现应用与技术组件的解耦。

应用与数据分离:屏蔽底层数据存储对应用逻辑的影响,实现底层数据的访问对应用透明化,使用者无需关心如何跨越多个分区查询数据、如何平衡各个分区负载、如何访问异构数据库等问题。

运维有形化:多维度实时监控到系统调用链路的每个环节,包含性能、健康度等,进而对系统进行实时干预。

运维智能化:熔断机制,及时自动隔离集群中隐患节点。

亿级消息处理:消息处理框架实现高效异步服务协同,支持亿级消息处理。

应用云化:协同云平台实现服务自动弹性伸缩。

春5

典型应用场景,通过OSP作为能力开放平台,CSF作为服务编排层并承载各个业务能力平台,通过Amber集中配置管理,log4X进行全链路日志跟踪,MsgFrame作为消息通道,实现数据最终一致性。AICache作为一级、二级缓存治理平台,DADB使系统具备数据持久化动态扩容能力。

在应用系统进行水平拆分(系统分层架构)、垂直拆分(中心化)后,云化服务框架解决了各中心之间通信、依赖管理等问题,并且通过深化的服务治理体系实现服务的可见、可管和可控。

春6

CSF以服务治理为思维导向,贯串整个技术架构的转型升级,作用于中心化建设的业务建模,实现了服务统一、可视化管理;通过分布式服务调用框架解决了运行态服务调用控制以及中心化后中心间的服务调用和事务控制。

春7

CSF通过熔断机制、故障隔离、服务分级、服务降级、过载保护、快速失败等机制防止故障蔓延,提高系统高可用性。多种故障侦测方式,多样性的故障处理方法。

春8

消息平台,包括消息中间件技术以及统一的消息配置管理平台。技术上通过提供统一的消息接入客户端开发框架,屏蔽消息的生产者、消费者的技术实现细节,提升开发效率,实现业务系统、中心之间的解耦与异步调用,实现事务的最终一致性。

浙江移动使用消息平台MsgFrame处理订单,效率提升4.4倍。

春9

DADB是服务层与数据存储层之间的数据访问代理,实现业务与数据的解耦。分布式数据访问总线屏蔽了底层数据存储对应用逻辑的影响,使得底层数据的访问对应用透明化,使用者无需关心如何跨越多个分区查询数据、如何平衡各个分区负载、如何访问异构数据库等问题。

通过验证中心开户业务集成整个技术架构后,整个开户业务在新技术架构下(四个技术支柱)已经贯通,开户功能正常,开户数据入库正常且一致;通过业务接入到数据入库整个流程分析,交互频次,对象化操作,涉及环节及时长等多种维度分析,优化开户业务,在新技术架构下开户业务链接由2300多次降低到460次,数据库链接降低了4倍,数据库耗时由3.1秒降低到900毫秒,效率提升了50%。

春10

AICache实现缓存治理,屏蔽本地缓存与缓存中间件差异,建立两级缓存体系,减少网络开销。

春11

云化后系统节点非常多,日志查询与服务调用跟踪,业务数据跟踪都是非常麻烦,通过Log4X归集、分析日志实现服务全链路跟踪以及服务双地图的动态地图;Log4X已经实现无侵入式。

春12

在一个分布式环境中,往往以多实例并存的模式进行发布。这些实例使用了一些配置,为了更好地维护这些配置就产生了配置管理服务,配置中心AMBER。通过这个服务可以轻松地管理这些应用服务的配置问题。

配置中心的本质基本上就是一种发布-订阅模式的运用。配置的应用方是订阅者,配置管理服务则是推送方。

经验表明,系统线上的故障90%是由上线引起、通过Amber能减少对线上系统的动作,从而降低系统故障率。

春13

通过能力的开放吸引合作伙伴入驻,开发创新的应用;以丰富的新应用吸引最终消费者的使用;不断增加的合作伙伴和消费者形成正反馈,持续挖掘潜在业务价值,壮大产业链,形成开放共赢的生态链。在内蒙移动上线的CRM系统,OSP每天上亿次调用。

2016年AIF已经在16个省份铺开,为图中黄色部分所示。由于时间原因、今天我分享就到这里,谢谢大家!

 -END-

 点击此处查看 PPT 完整内容