vlambda博客
学习文章列表

中信银行:信用卡中心微服务治理平台项目

案例背景


中信银行信用卡中心于2016年启动新一代信用卡信息系统建设项目,实现基础架构升级,整体架构由传统集中式架构向基于开放平台的分布式架构转型,需要在三个目标上进行突破:性能上,水平可扩展,能为亿级用户提供银行行服务;功能上,能够快速迭代,满足业务不断增长的需求;容量上,能支撑亿级用户,并最终实现系统代运营。


基于开放平台的分布式架构改造后,原有的100多个系统将会拆分为成百上千的微服务,微服务的开发,测试,服务间负载均衡和远程调用,安全管理和运维均面临严峻挑战;同时如何基于分布式架构实施敏捷交付,有效提升交付质量和效能,也给卡中心带来新的命题。


中信银行:信用卡中心微服务治理平台项目

需要解决的问题及解决方案


问题一:

分布式架构下,传统应用拆解形成成百上千的微服务,同时新的业务需求也要按照微服务模式进行拆解和实施,如何保障不同微服务的开发进度确保交付里程碑,如何开展集成测试提升应用之间的协作能力,同时基于敏捷模式开发如何保证交付质量?


解决方案:

构建端到端的敏捷交付。结合DevOps理论和工具、流程形成卡中心的敏捷交付能力,包括Maven、Gitlab、Jenkins构建的持续集成;Ucase、ITest、Fortify、AMS、TMS等支撑的测试驱动;基于容器(Docker)的持续发布;以及由Jira、Confluence、JiraBI支撑的敏捷项目管理。端到端的敏捷交付能力有效保障交付过程“监管控”可视量化机制、交付过程“协作”规范化平稳运作和交付过程“工具”自动化平台支撑,从研发过程、协作流程和工具体系上保障交付效能和质量。


问题二:

传统应用通过一套系统完成所有的交易动作,交易与交易直接的调用主要通过内部接口调用来实现,不存在网络时延或服务超时;分布式架构下服务质检通过RPC实现进程间调用,面临更复杂的调用关系,如何确保服务的可持续性?


解决方案:

构建微服务框架,支撑应用水平可扩展能力。基于开源社区的主流开源技术,卡中心自主研发微服务开发框架,融入如下基础组件:1.基于调用链的性能监控,对每笔交易的在每个环节(微服务)的耗时和调用链路进行追溯分析;2.配置中心,对分布式应用的配置文件和系统参数进行集中管理和版本化,支持热加载和本地缓存;3.服务注册中心,每个微服务在注册中心进行登记注册,对运行实例的上下线实时监控和实现客户端的负载均衡;4.日志云,基于分布式消息队列对分布式应用的日志集中汇集,分析,预警和展示。5.API管理,对微服务API进行描述定义和注册,构建服务网关,对微服务实现细粒度的服务控制。微服务框架有效驱动和支撑卡中心106个外围系统和新一代核心系统实现分布式架构升级,具备通过水平扩展部署提升服务能力,对应用实现全链路的“监管控”。


问题三:

分布式架构主要突出特点是容量和性能方面具备较好的扩展性,能够帮助银行较好的应对互联网时代大流量、高并发的业务场景,例如抢购抢兑活动、双十一/春节等,卡中心是如何解决资源弹性扩充和应用水平扩展的?


解决方案:

建设容器云平台,实现应用可编排和可管理采用开源的Kubernetes技术构建多数据中心,多区域的容器云平台,实现微服务的同城双活部署,并围绕容器云平台进行订制开发,推出持续集成和部署平台,以及监控预警,支撑应用的一键部署,灰度发布,故障容错自愈,保障业务系统连续性和微服务的可运维管理;并能根据用户访问量和系统负荷实现资源弹性伸缩,提升资源利用率达50%以上。


问题四:

分布式架构由于采用更为通用X86服务器和云环境部署,单机的处理能力有限,必然会带来更高的部署复杂度,服务器的数量会变得比较多。应用微服务后,系统间服务数量增加,交互更加频繁,交易路径变得更为复杂,风险点增多,一旦出现问题后,故障的定位和分析和应急处置上都变得更加复杂,卡中心如何处理“三态”问题和确保业务连续性?


解决方案:

实现全链路预警和服务熔断。从应用视角出发构建多层次的监控体系和基于时序的预警平台。包括:1、微服务的交易处理能力:交易量,交易时延,经过的每个调用链路;2.微服务的系统健康能力:服务状态,内存消耗,CPU消耗,队列容量;3.日志的监控:流量及失败信息;4.计算资源和存储资源的耗用;通过全链路的监控对应用进行预警处置和服务熔断,保障业务系统连续性和用户体验。


应用效果


通过微服务治理平台的实施,卡中心取得了五个方面的经济效益与社会效益:


1.资源使用和部署提升明显

基于X86的PC服务器较动辄千万的小型机相比,价格优势明显;同时微服务运行在容器云平台上,相比使用虚拟机部署节约资源达50%以上,同时系统部署效率数倍提升,由原有数小时缩短到数分钟以内。


2.科技输出助力“代运营”战略实现

基于微服务治理平台卡中心积极推进“代运营”战略实现科技能力输出,包括应用能力输出、平台能力输出、资源层能力输出。目前已经完成1家中小银行的电子化进件代运营,另外5家左右在开展沟通交流。随着代运营战略的稳步推进,预计未来五年将给卡中心带来数百万元经济利润。


3.实现科技赋能业务创新

微服务治理平台带来敏捷交付、持续迭代和灰度发布等新特性和弹性扩展、高稳定、故障自愈等新手段,能够有效支持业务快速发布新产品、持续改进服务质量、精确识别客户喜好,真正提供“以客户为中心”的金融服务。目前卡中心的“9分享兑”、“9元享看”、“精彩365”、“919信运日”、“幸运星期一”等活动极大丰富了持卡人的权益,在市场上享有较高认可度。未来基于微服务治理平台将极大提升面向C端的“拉新、养熟、成交、裂变”等市场营销活动的创新能力,将中信信用卡打造成客户首卡之选。


4.同业示范效应明显

微服务治理平台建设有力保障了卡中心架构转型和验证分布式架构在金融行业的可行性和稳定性,同时去"IOE"基于开源技术打造卡中心核心能力,实现自主知识产权和关键应用的自主可控,能够给其他金融机构带来一定示范效应。目前微服务治理平台建设所取得的成就已经在中信集团内部得到认可和推广,同业信用卡中心纷纷与中信信用卡开展技术交流。中信信用卡的实践将激励和鼓舞更多金融机构去“IOE”,真正走向技术自主可控。


5.技术自主可控和反哺社区

卡中心微服务治理平台基于开源技术打造,通过对源代码的吸收、利用以及自身特性的二次开发和重构,卡中心逐步建立云平台解决方案知识产权并实现信息技术自主可控。同时在云平台的运维和管理中,卡中心将开源代码的固有缺陷、优化方案和新功能提交到开源社区,实现社区反哺并促进开源社区的生态化发展。






【更多精彩内容,扫描下方二维码】