您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[工商银行]:2024年工商银行分布式技术及应用白皮书 - 发现报告
当前位置:首页/行业研究/报告详情/

2024年工商银行分布式技术及应用白皮书

金融2024-10-31-工商银行E***
AI智能总结
查看更多
2024年工商银行分布式技术及应用白皮书

版权说明 版权说明 版权说明 本⽩⽪书版权属于中国⼯商银⾏软件开发中⼼,并受法律保护。转载、摘编或利⽤其它⽅式使⽤本⽩⽪书⽂字或者观点的,应注明“来源:中国⼯商银⾏软件开发中⼼”。违反上述声明者,我们将追究其相关法律责任。 ⽬录 ⽬录 第⼀章概述2 (⼀)分布式技术发展历程2 (⼆)分布式技术产业发展现状3 (三)分布式技术产业演进趋势4 第⼆章分布式体系发展现状5 (⼀)分布式技术平台产品总视图5 (⼆)分布式各平台建设现状和成果5 (三)分布式体系业务场景落地12 第三章分布式体系应⽤案例13 (⼀)构建开放平台核⼼银⾏系统,实现⼤型银⾏IT架构关键性突破13 (⼆)全⽅位满⾜及适应银⾏复杂场景的需求14 第四章总结与展望17 第⼀章概述 (⼀)分布式技术发展历程 分布式技术系统是⼀种建⽴在⽹络之上的软件系统,其特点是多台计算机通过⽹络连接,协同⼯作以完成特定的任务。每个节点⾼度⾃治,⽤ ⼾感知不到数据的分布,感觉像是在使⽤⼀个统⼀的系统。分布式技术体系的发展⼀共可分为以下四个阶段。 1、原始分布式时代(20世纪70年代末到80年代初):这个时期的特点是计算能⼒⾮常有限,科学家们通过多台计算机协同⼯作来完成复杂的任务,奠定了分布式计算的基础。这个时期的探索出现了远程调⽤ (RPC)和分布式⽂件系统的雏形。 2、分布式计算的兴起(20世纪90年代):随着技术的进步,分布式计算开始兴起,特别是分布式渲染和⾯向服务的架构(SOA)的提出和应 ⽤,使得分布式系统在处理⼤规模计算任务时更加⾼效和灵活。 3、微服务架构的时代(2005年以后):微服务架构的崛起进⼀步推动了分布式技术的发展,使得系统更加模块化,易于管理和扩展。 4、云计算和虚拟化技术的发展(21世纪初⾄今):随着云计算和虚拟化技术的发展,分布式系统进⼀步发展,形成了资源池和弹性调度的云计算模式和云原⽣架构。 第⼀章概述 (⼆)分布式技术产业发展现状 以微服务为核⼼的分布式技术在产业界已基本发展成熟。在分布式技术架构建设过程中,基于以微服务为核⼼的开放式架构,不断拓展周边⽣态,利⽤微服务实现应⽤的分层解耦,通过分布式数据库实现开放平台数据的弹性布局,利⽤缓存提升⾼频数据的处理能⼒,引⼊分布式事务解决跨平台、跨应⽤的事务最终⼀致性问题。随着微服务、软负载、事务、消息、批量、缓存、数据库、对象存储、⽂件存储等能⼒的建设,分布式系统的⽀撑场景及运⾏能⼒持续提升,并同步形成了与分布式架构相匹配的研发及运维⽀撑能⼒。 根据对业界分布式技术产品的综合分析,分布式架构技术能⼒图谱如图1所⽰。Dubbo起步早、是最受欢迎的微服务框架,SpringCloud也是主流选型之⼀;分布式事务多采⽤⾃研,但模型以TCC、SAGA及可靠消息为主;软负载⽅⾯,HAProxy及Nginx能⼒各有千秋;Kafka与Redis处于消息和缓存领域的统治地位;原⽣分布式数据库应⽤较少,基于Mysql+分布式访问层是数据布局选型的主流技术⽅案;Springboot凭借简化研发成为开发框架的标配;Apollo、ELK、Zipkin等是配置及监控的典型选择;熔断限流⽅⾯Hystrix和Sentinel均有尝试;⼯⾏等少数银⾏已基于Chaosblade开展混沌⼯程实践。 (三)分布式技术产业演进趋势 微服务架构推动应⽤从传统单体式向分布式转型,实现了应⽤系统的解耦,但同时也⾯临着需要⽀持多种语⾔中间件,客⼾端版本升级困难等问题。因此产业界逐步从软件层⾯独⼒应对微服务架构问题,发展到软、硬⼀体,合⼒应对微服务架构问题。 如ServiceMesh(服务⽹格)架构的理念,通过技术平台的基础设施化改造,将分布式能⼒逐步下沉到硬件层,实现与应⽤解耦,简化应⽤开发过程,提供应⽤更⼤的技术选型灵活度。如云原⽣应⽤运⾏时架构,通过集成SDK内核,统⼀交互协议及对外API,实现能⼒的抽象,使分布式能⼒进⼀步下沉⾄基础设施。 第⼆章分布式体系发展现状 (⼀)分布式技术平台产品总视图 ⼯商银⾏分布式技术体系⾯向⽣产运⾏环节,建设了分布式服务、软负载、事务、消息、批量、缓存、数据库、对象存储、⽂件存储等九⼤运⾏⽀撑平台,实现公共技术能⼒的集约建设与运营。 (⼆)分布式各平台建设现状和成果 1.软负载均衡 ⼯⾏软负载均衡由四层负载节点(LVS/DP)和七层负载节点 (Haproxy/Nginx)、管控平台⼏个部分组成,具备⾼可⽤、可扩展、动态配置等特性。 其⼴泛使⽤在银⾏核⼼互联⽹应⽤系统,如电⼦银⾏、电⼦商城、快捷 ⽀付、卡组织⽀付等,提供银⾏应⽤提供负载均衡⽀撑。⽇均处理请求百亿级,经历了多次“纪念币预约”“双⼗⼀快捷⽀付”的⽣产⾼并发考验,满 ⾜了“双⼗⼀”万级TPS处理需求。 2.分布式服务 ⼯⾏分布式服务采⽤⾼性能RPC调⽤模式,为应⽤提供了⾼性能、灵活、可扩展、⾼可⽤的运⾏⽅式,为业务研发提供了⾼效、标准化、可复⽤的开发模式。 分布式服务平台提供了媲美主机的⾼可⽤,更⾼的横向扩容能⼒,⽬前已落地超2万个服务,⽇均调⽤量260亿次。 3.分布式事务 ⼯⾏分布式事务提供SAGA、TCC、可靠消息等事务解决⽅案,具备多级事务失败处理机制,并提供事后的⼀站式运维管理能⼒,⽀持应⽤侧部署和集中部署两种⽅式。 分布式事务平台⼴泛应⽤于账⼾、客⼾、介质等银⾏核⼼业务,为应⽤服务化改造及主机下平台过程中的跨服务、跨应⽤交易的事务最终⼀致性提供保障,平台⽇均⽀撑业务调⽤量数亿次。 4.分布式消息 ⼯⾏分布式消息平台基于业界主流消息引擎Kafka建设,为分布式系统内部以及系统间异步解耦、消息通知、流量削峰、数据共享等场景提供解决⽅案,并具备节点安装部署、监控告警、⽔平扩缩容等完善的⾃动化运维能⼒。 消息平台服务于⼯⾏百余个应⽤,⽇均消息量千亿级,TPS百万级,具备毫秒级消息传递能⼒。 5.分布式数据库 ⼯⾏分布式数据库采⽤分布式数据访问层+MySQL+⾃研运维管理平台 搭建模式,⼤规模实施云化部署,具备⼀键式快速供给能⼒。并在云化部署基础上,同步建设性能容量、健康检查等丰富的监控机制,以及⾼可⽤、快速扩展、数据备份/灾备、安全审计等企业级⽀撑能⼒,具备⾃动化运维能 ⼒。 分布式数据库在在同业率先实现MySQL数据库⼤规模云化服务,数据库节点数量达到数千个,应⽤于多个重点业务场景,⽀撑双⼗⼀、春节业务 ⾼峰万级TPS。 6.分布式缓存 ⼯⾏分布式缓存平台,基于Redis定制化扩展,主要⽤于缓存数据共享,提升服务性能,降低数据库读写压⼒等场景,具备⾼性能、动态扩展、⾼可 ⽤、易⽤性四⼤特性。 平台⼴泛应⽤于⼈结算账⼾、电⼦银⾏等业务场景,已在纪念币、融e 联、融e购、业务信息辅助服务等数⼗个应⽤落地,⽬前集群规模上百套, ⽇均交易量达⼗亿级。 7.分布式批量 ⼯⾏分布式批量平台完全⾃研,主要⽤于集中式批量业务分布式转型后,不能与分布式应⽤有效适配,存在单点故障、性能容量上限的问题。平台通过数据分⽚、作业编排、⾃动调度等功能提升批量并⾏处理能⼒,缩短运⾏时间,并具备⾼可⽤、易扩展和完善的运维能⼒。 分布式批量平台⼴泛在⼯⾏开放平台体系中使⽤,服务于数百多个应 ⽤,涵盖渠道、业务超、业务基础、技术基础等各类应⽤系统,⽇均调度超数百万次作业。 8.分布式⽂件存储 ⼯⾏分布式⽂件存储,主要解决传统共享存储⾼可⽤能⼒低的问题,⽀撑我⾏开放平台业务系统⽂件共享存储需求,并打通云上云下应⽤的⽂件共享,具备⾼可⽤、⽔平扩展、集约管理等能⼒。 平台已落地⼯⾏应⽤数⼗余个,对外提供总计百余TB的共享⽂件存储能⼒。 9.分布式对象存储 ⼯⾏分布式对象存储平台,实现海量⼩⽂件快速读写,为⾏内的业务 影像类、与业务流程密切相关的⾳视频类,业务⽂档类等⾮结构化数据提供⾼并发数据访问能⼒。 平台已成功⽀撑数⼗余个应⽤系统,满⾜融e联、融e购等互联⽹应 ⽤对象密集存储的需求,⽀持万级TPS,数据存量已经达到千余TB。 (三)分布式体系业务场景落地 ⼯⾏开放平台分布式技术在境内系统已实现⼤规模应⽤,基于开放平台分布式架构已能实现核⼼业务完整闭环处理,⼤型商业银⾏的“平台版”核⼼银⾏系统已初具雏形。此外,⼯⾏基于开放平台分布式技术体系建⽴了境外核⼼银⾏系统,并已在印尼、莫斯科等境外机构的推⼴应⽤。⽬前分布式架构转型应⽤数超250个,服务⽇均调⽤量超260亿,峰值⼗万级TPS, 交易响应耗时50毫秒以内。 第三章分布式体系应⽤案例 (⼀)构建开放平台核⼼银⾏系统,实现⼤型银⾏IT架构关键性突破 基于分布式技术体系,我⾏初步构建起包括业务基础服务、核⼼账⼾体系、重点产品服务等体系完整的开放平台核⼼银⾏系统(境内)。业务基础服务提供企业级公共服务,包括机构管理、柜员管理、会计核算、客⼾信息等为客⼾及内部管理服务的公共基础功能,⽀撑业务交易在开放平台闭环处理;核⼼账⼾体系包括资⾦账⼾、交易账⼾、权益账⼾等完整的账⼾服务,提供收、付、管等核⼼⾦融服务;基于业务基础服务和账⼾体系,实现了快捷⽀付、积存⾦、账⼾外汇等产品下移主机,打造开放、融合的⾦融⽣态体系,有效⽀撑⾼频业务的快速增⻓。 (⼆)全⽅位满⾜及适应银⾏复杂场景的需求 ⼯⾏分布式技术体系经过⼤规模的⾃主研发及技术创新,⼴泛适⽤于 ⾦融复杂场景的需要,已⼤规模覆盖账务型、信息型、交互型、转发型等典型的应⽤场景。 1、为账务型应⽤提供⾼性能、强⼀致性事务保障。⼯⾏依托分布式技术建设个⼈账⼾应⽤为客⼾提供基本结算服务。通过Mysql本地SSD磁盘部署+分库分表,提供单库5万QPS的更新性能;通过分布式事务框架,提供跨应⽤、跨节点的事务⼀致性保障;通过Mysql⼀主三备+同城 ⾃动化切换技术,确保2分钟内完成同城⽆损切换。⼯⾏是国内⾸家采⽤ 分布式技术进⾏⼤规模账务处理的银⾏,承载9亿个⼈借记卡数据,可⽀持6万TPS交易率,交易响应时间50毫秒以内。 2、为⼤型信息型应⽤提供低成本解决⽅案。⼯⾏通过分布式技术建设企业级客⼾信息,为全⾏业务系统提供客⼾信息维护与查询服务。通过使⽤⾃主研发基于分布式数据访问层技术的分布式数据库实现对应⽤透明的智能路由访问,⽀撑⼤容量数据分⽚存储,实现整体集群的横向扩展与数据再平衡,满⾜海量数据库操作的性能要求,⼤幅降低应⽤研发成本。为全⾏180多个总分⾏应⽤提供⽇均超2亿次维护与查询服务,⽀持最⾼交易并发数为7600TPS,平均交易耗时⼩于30ms,⽀撑应⽤范围同业最 ⼴,⽇均访问数量同业最多。 3、为互联⽹交互型应⽤提供极致⽤⼾体验。⼯⾏依托分布式技术建设纪念币预约系统,为全国互联⽹⽤⼾提供纪念币预约服务。⽹络层采取多种负载均衡措施,后台系统采⽤分布式技术体系设计,结合服务器云化 部署、数据库分库分表及⾼可⽤设计,提升系统⾼并发处理能⼒。采⽤ CDN缓存、分布式缓存等多种措施,提升系统快速响应能⼒。系统可⽀撑 ⼗万TPS处理能⼒,交易响应时间百毫秒以内,成功完成历年⼈⾏纪念币发⾏任务,同业综合表现尤为突出。 4、为流⽔转发型应⽤提供⾼并发、⾼可靠的弹性⽀持。⼯⾏依托分布式技术建设快捷⽀付应⽤,对接清算机构为个⼈客⼾提供快捷⽀付结算服务。通过横向扩展对等应⽤节点分散承载⾼并发交易,通过应⽤节点⼊云实现快速弹性伸缩,通过数据库垂直/⽔平分库分散⾼并发数据访问压⼒;通过应⽤和数据库节点同城部署、并以不同应⽤分别处理⽹联和银联的交易,确保⾼可⽤。作为业内领先的⼤型发卡银⾏,⼯⾏快捷⽀付业务内部压测可达近⼗万TPS,顺利完成历年“双⼗⼀”、春节红包等⾼峰期保障,“双⼗ ⼀”全天交易量超2亿笔。 第四章总结与展望 第四章总结与展望 ⼯⾏已构建完备构建分布式技术架构体系并深⼊使⽤,伴随着分布式技术体系进⼀步成熟,未来将有以下三个⽅⾯趋势推动分布式架构持续发展。 1、分布式技术体系进⼀步下沉⾄基础设施 微服务架构推动应⽤从传统单体式向分布式转型,实现了应⽤系统的解耦,