农业银行关键金融系统稳定性提升探索与实践.docx

上传人:王** 文档编号:52528 上传时间:2022-12-10 格式:DOCX 页数:14 大小:115.57KB
下载 相关 举报
农业银行关键金融系统稳定性提升探索与实践.docx_第1页
第1页 / 共14页
农业银行关键金融系统稳定性提升探索与实践.docx_第2页
第2页 / 共14页
农业银行关键金融系统稳定性提升探索与实践.docx_第3页
第3页 / 共14页
农业银行关键金融系统稳定性提升探索与实践.docx_第4页
第4页 / 共14页
农业银行关键金融系统稳定性提升探索与实践.docx_第5页
第5页 / 共14页
农业银行关键金融系统稳定性提升探索与实践.docx_第6页
第6页 / 共14页
农业银行关键金融系统稳定性提升探索与实践.docx_第7页
第7页 / 共14页
农业银行关键金融系统稳定性提升探索与实践.docx_第8页
第8页 / 共14页
农业银行关键金融系统稳定性提升探索与实践.docx_第9页
第9页 / 共14页
农业银行关键金融系统稳定性提升探索与实践.docx_第10页
第10页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《农业银行关键金融系统稳定性提升探索与实践.docx》由会员分享,可在线阅读,更多相关《农业银行关键金融系统稳定性提升探索与实践.docx(14页珍藏版)》请在优知文库上搜索。

1、农业银行关键金融系统稳定性提升探索与实践随着业务模式的不断创新,交易量大幅攀升,传统IT架构能力日趋薄弱。为此,农业银行广泛应用云计算、分布式等新技术构建分布式架构和运维体系以支撑业务快速迭代。而如何为客户提供平稳、高效、安全的科技支撑,打造新环境下稳定的IT基础设施保障业务连续性,这个银行业的老问题迎来了新挑战。这些变化与挑战亟需通过一套方法论支持系统的进化过程,为此农业银行试点引入混沌工程。一、混沌工程浅析1 .定义混沌工程是在分布式系统上进行实验的学科,目的是建立系统抵御生产环境中湍流条件的能力。通常来说,混沌工程指对分布式系统中的服务器随机注入不同类型的故障,发现并修复系统中的潜在问题

2、,从而提升整个分布式系统的高可用能力。混沌工程作为保障分布式系统稳定性的重要技术,已成为推动企业IT韧性系统建设的强大助力。2 .发展历程2017年,NetfliX推出了混沌实验自动平台(ChAP),可以24小时不间断的自动运行,并根据系统反应自动化衍生新的故障场景测试系统弹性。同年,第一家专门从事混沌工程商业软件研发公司ChaOSlQ成立,并开源了chaostoolkit混沌实验框架。混沌工程发展至今(如图1所示),业界内比较流行的是以阿里巴巴公司为首的以下几种框架和平台:.ChaosBlade是阿里巴巴开源的一款遵循混沌工程原理和混沌实验模型的实验注入工具,帮助企业提升分布式系统的容错能力

3、。 ChaosMesh是一个通用的混沌工程解决方案,它的特点是针对Kubernetes上的复杂系统进行全方位的故障注入方法。 ChaosMonkey是Netflix基于混沌工程的概念开发的用于测试IT基础设施韧性的工具,支持随机地终止本地机器实例或者云上容器实例。2008年NetfliX公司的DVDffi赁业务因一次数据库故障停机3天。NetfIiX工程师寻找代替架构,转向分布式系统微0艮务架构、云化。Simiai展随港具蕾 m有了工具,故障注入场景变得自动化,故障场景越来越丰富,NetfliXffl社区正式提出了混沌工程的指导思想,WS立了混沌工程的若干原则,将这个陪S彳渤范与的化,演化成了

4、混沌工程。图1混沌工程发展历程3 .成熟度模型按照信通院发布的混沌工程成熟度模型(如图2所示)标准解读,混沌工程成熟度覆盖3个能力域、4个过程域、21个实践域,可全方位诊断混沌工程应用综合成熟度水平,并结合演练计划、演练对象、演练复杂度、演练范围和演练闭环五大混沌工程特性成熟度,从业务应用视角为项目团队指引能力提升方向,更好地匹配业务应用发展需求。能力域类型工程熟练度应用成效度组织建设度能力域项目故健团队及文化建设(Team&Culture)应用深度(AdoptionDeepth)熟练度(Proficiency)平均故应用成效(ProjectAdoptionImpact)图2成熟度模型二、业界

5、内实践情况1.互联网公司(1)京东京东搭建了“京东云-云泰故障注入与演练平台“,该平台通过故障的仿真和注入,结合资源、业务的稳定状态监控,来检验系统的健壮性和可用性。京东充分利用该平台进行单故障、混合故障、FUZZ叠加全链路压测等演练,最终实现从容平稳应对大规模复杂流量场景的挑战。(2)蚂蚁集团蚂蚁集团实践的主要表现形式以红蓝攻防为主,它面向软件全生命周期,并且对核心业务逻辑进行故障注入。2021年,通过红蓝攻防,共发现300多个业务风险和问题,推进解决200多个;在日常的演练中涵盖高可用、资金安全、研发质量等领域,覆盖到蚂蚁所有主要业务,并且通过不断改进,使其核心业务指标异常的监控发现率达9

6、9%以上,资金一致性核对的发现率达到90%以上。(1)工商银行工商银行于2019年完成混沌工程故障演练平台建设,并率先在快捷支付、聚合收单等重点业务领域开展演练工作,后逐步在全行全面推广使用,截至目前,已落地300余个业务系统,覆盖应用自隔离、同城双活、优雅启停等六方面生产常用重点高可用能力,帮助落地应用发现600余个高可用问题。(2)平安银行平安银行自研搭建了ASTA混沌工程平台,可支持一站式演练操作。在平安银行信用卡A+新核心的投产和运行过程中,ASTA发挥了重要作用。通过投产前执行三轮的混沌测试,提前发现了涉及PaaS、laaS、SaaS层的不同类型问题共30多个,很好地发挥了降本增效、

7、防风险的作用。三、农业银行系统实践L金库业务管理系统作为试点系统,金库业务管理系统是农业银行现金运营领域的重要核心系统,支持农行全国范围内现金调拨、仓储和机具管理。系统用户总数20多万,日均交易调用量500多万。目前,金库业务管理系统正处于基础设施整体优化、协同融合的关键时期,云下、云上环境同时存在,分布式异构的特点提高了系统脆弱度,生产环境中不可预见的用户操作对系统、应用架构的可靠性提出了更高的要求。特别是基于数字化转型的要求,核心系统下沉,微服务架构、分布式事务、云原生等新技术、新手段的不断引入,实现远超主机性能容量的集群处理能力的同时,底层技术架构和平台系统也日益复杂,生产不确定因素相较

8、主机明显增加。农业银行通过混沌工程的引入,希望达到以下效果: 通过一系列实验考察系统在故障场景中的表现,增强系统反脆弱性。 缓解因架构升级过程中软硬异构等原因带来的持续扩大的维护边界和运维代际适配的矛盾。 增强团队应对突发状况的能力,提高生产环境中失控条件产生时的系统稳定性。2 .实验技术方案介绍混沌实验环境的系统架构如图3所示,工具平台统一部署在云上环境,通过与部署在云上、云下环境的待演练平台或机器上的响应服务(Agent)进行通信,做到云上、云下环境无差别运行混沌实验任务以适应系统架构特点。同时监控告警平台实现无差别云上、云下环境监管,监控系统各项运行指标。Agent工具合尸APfAPIS

9、erverSchedulerControlIeretcdPadIContaiaej!ICotAin申付件图3金库业务管理系统混沌演练平台总体架构3 .实验实施(1)故障场景设计针对项目本身架构复杂,且存在多模块、多渠道调用的情况,项目组自研了故障场景,并且抽取了工具自带场景和自研场景,组成了可供农业银行其他系统利用的场景库,主要分为组件依赖类故障和服务类故障两类。对自研的故障场景进行参数固化,形成可复用模板,支持一键生成故障演练。故障场景设计见表1。表1故障场景设计i名称场景描述1行内各场景下网络延迟在测试环境模拟应用系统与行内文件下我、信息加密、数据转发各系统之间的网络延迟情况,从而提高生产

10、环境的应急能力.2分行设备通讯异常在测试环境模拟应用系统与分行设备之间的网络异常情况,从而提高生产环境的应急能力.3开源软件故障在测试环境模拟开源软件异常情况,从而提高生产环境的应急能力.4NAS满载在测试环境模拟NAS满载,从而提高生产环境的应急能力.N自研场景优势主要为两方面:一是自研场景适配性强,适用于多种不同的架构模式和部署方式;二是自研场景对农业银行公共服务平台服务调用类故障的相应参数进行了定义和维护,将相关故障场景抽取为特定模板,可复用性高。(2)演练样例设计演练样例设计步骤主要分为两部分:第一步,确定系统监控能力和监控参数,通过对相关生产测试环境资源和历史数据的分析,得到了系统稳

11、定运行状态的基础资源指标、系统可用性总体指标和针对核心交易的性能效率指标。同时,结合星云、普罗米修斯、NMON.XMeter等多种监控手段,探查操作系统资源的变化状态以及应用交易的运行结果。第二步,针对本系统的架构特点和业务关键点,并结合平台上历史生产问题的案例库中适用业务的相关事件以及在业界混沌实践中归纳得到的高可用测试模型,项目组针对应用层、数据库层、基础环境层、缓存层、消息中间件层、服务调用链层设计了有代表性的样例,并针对每个样例定义混沌组、对照组以及通过性监控指标。以下游异常隔离演练样例为例(见表2)。表2下游异常隔离演练样例设计组别子近别作用预混沌环境组发压一般性库存查询系统可用性验

12、证系统可用性启发压下游交易查询混沌故障点测试触发星云性能非混沌环境对照组发压一般性库存查询系统可用性验证系统可用性上发压下游交易查询混沌对照组比对核心交易压测性能整体预期注入的故障仅影响到故障点相关的交易,触发告警,而系统(3)演练实施过程混沌演练过程分如下几个步骤:.创建混沌工程实验。完成环境搭建、设备接入后、选择目标环境创建混沌工程实验,配置相关参数。执行混沌工程试验。配置完毕后即可执行混沌实验,在控制台上可以看到实验配置和执行的相关参数和日志。运行后故障即注入到对应服务器上。同时进行XMeter流量注入。.收集实验结果日志并进行分析。四、混沌试点收益与复盘以试点工程为依托,农业银行在演练

13、样例的执行过程中发现了系统风险,指导了系统优化设计,加强了监控手段,提高了系统稳定性,对混沌工程理论有了更为深层的理解。一是完成系统稳定性验证、应急预案验证、告警有效性验证。在实际混沌演练过程中,项目组发现了下游实例异常隔离风险,并在投产前针对相关问题完成系统加固工作,有效预防了生产系统风险。修正系统应急预案5个,优化无效系统告警12个。二是完成服务依赖治理。通过演练绘制依赖关系图谱,梳理依赖关系定位服务间的强弱依赖和循坏依赖,针对非必要依赖和强依赖进行了有效治理。三是完成容灾架构验证。针对即将搭建的容灾体系利用混沌工具的故障注入能力在测试环境进行了主备切换、负载均衡、流量调度等的容灾架构验证

14、。四是持续提升农业银行DevOps建设能力,通过开放式接口支持演练流程外部调起实现DeVOPS企业级流水线对接。依托场景库针对应用实现故障的随机注入能力,完成DeVOPS应用过程中的混沌功能验收,将混沌测试质量门禁纳入CI/CD流水线指标,持续跟踪业务系统开发增量问题。试点工程投产后,经过持续生产验证,相关新增产品模块不存在低可用性交易,原有功能系统可用性由4个9提高到5个9;通过混沌演练结果对告警信息进行了优化,平均故障诊断时间由之前30分钟降低到3分钟,平均故障修复时间降低到30分钟。依托混沌工程的理念和方法论,可在很大程度上规避新技术的引入过程中可能遇到的障碍和不确定性问题,缩短技术成熟

15、周期。在为用户提供平稳、高效、安全的科技支撑方面展现了巨大价值,有助于企业构建完整、可度量的系统稳定性保障体系。混沌工程的引入为农业银行打造新技术、新环境下稳定的IT基础设施提供了稳定性保障工具和建设指引。五、改进与优化通过几个月的混沌工程实践,在混沌工程方法论的指导下,农业银行系统稳定性得到了进一步提升,对混沌工程的理论和原则也有了更深入的思考。通过对实施过程的分析,笔者总结了下一步的改进思路:L在混沌工程的持续推进过程中,要做好总体布局和战略规划混沌工程的实施需要针对企业现有的开发运维生态环境和部门职能产生影响,通过由点到面、由平台到立体化的发展,将混沌演练融入到体系建设之中。农业银行现已完成测试引入、平台建设、红蓝对抗、平台建设工作,下一步应更加着力注重自动化和工程化建设,在系统趋于稳定和高透明度时,实现无间断演练和版本库变更自动演练等功能,将

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 金融/证券 > 金融资料

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!