工商银行分布式技术及应用白皮书 2024_第1页
工商银行分布式技术及应用白皮书 2024_第2页
工商银行分布式技术及应用白皮书 2024_第3页
工商银行分布式技术及应用白皮书 2024_第4页
工商银行分布式技术及应用白皮书 2024_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论