【ArchSummit架构师峰会】基于大模型的基础框架、中台、应用层等专题全覆盖 >>> 了解详情
写点什么

中国工商银行基于生产流量的创新探索及实践

  • 2023-10-30
    北京
  • 本文字数:3180 字

    阅读完需:约 10 分钟

大小:1.61M时长:09:23
中国工商银行基于生产流量的创新探索及实践

作者 | 中国工商银行金融科技研究院云计算实验室


随着互联网金融的高速发展,金融产品和服务模式不断创新,业务规模呈现爆炸式增长态势,新老业务迭代加速,在业务迭代升级或系统重构时,如何确保业务架构调整后的功能连续性,是常规测试工具面临的难题。相较于传统测试数据,生产流量具有多样性的特征,利用生产流量进行功能性验证能够最大程度提升验证效果,保障架构转型过程的安全性和稳定性。在这样的背景下,流量录制回放技术应运而生。


流量录制回放的行业现状


由于传统的测试数据缺乏真实性和多样性,测试案例覆盖度往往无法满足实际的需求,为此互联网头部企业提出通过流量录制回放工具弥补传统自动化测试系统的不足,并以此衍生出了多种方案,其中较为有代表性的工具和产品有 GoReplay、TcpCopy、Jvm-Sandbox-Repeater、阿里云引擎回归测试平台等。这些工具都是由用户层、流量采集、数据持久化模块所组成(如图 1 所示),其中服务端提供了流量录制规则配置和数据分析的能力,用户根据自身需求分析录制场景和录制规则,并基于录制工具开展生产流量录制;采集端则根据业务提供的录制规则进行数据收集和聚合并转发给存储节点进行持久化;回放端主要提供了实时回放、用例沉淀、压测模型转换、链路分析、依赖分析等能力。此外,持久化的流量数据可根据业务需求进行差异化定制,并应用于在线巡检、变更影响面评估、智能用例推荐、强弱依赖识别、业务模型评估、覆盖率分析等场景,从而形成围绕流量的运维生态。



图 1 业界流量录制回放业务架构


中国工商银行在流量录制回放领域的探索


随着工商银行分布式转型工作深入推进,开放平台交易量爆发式增长,分布式架构错综复杂的调用链给运维体系带来巨大挑战。工商银行借鉴行业先进经验,打造了流量录制回放平台,从六个方面对流量录制回放技术进行探索和实践。


字节码增强方式录制,多维度可定制化任务管理


针对工商银行内部技术框架的多样性,相较于其他录制方式,字节码增强方式因其无侵入特性,具有更高的包容性,可以支持以较低的成本对应用服务进行拦截,进而实现服务请求响应报文、链路特征、交易耗时等信息的录制。


平台提供了应用、集群、容器、服务、交易时间等多种维度的录制能力(如图 2 所示),用户可根据自身诉求定制录制规则,以任务的形式灵活的控制录制时间段、设置灰度模式、采集链路资源等,实现多维度流量灵活录制。精准的录制任务投放,不仅降低了录制链路的处理压力,还能帮助用户有效控制录制工具的影响范围,降低性能损耗,同时保障应用节点安全稳定。



图 2 字节码增强录制与定制化任务管理


梳理核心链路,构建流量录放模型


核心链路的梳理是整个流量录放工作的重中之重,能否将核心链路梳理好,直接决定其能否保证录制链路和数据的完整性以及能否达到录放的预期效果。在分布式架构下,工商银行利用链路追踪监控技术,通过流量染色和拓扑分析机制,形成面向业务场景的全链路拓扑结构,业务系统再根据梳理出来的目标链路拓扑进行梳理以及性能容量评估,最终得出流量录放模型,以最大程度还原生产交易场景。


  1. 录制链路梳理:业务系统通过链路拓扑分析,根据自身需求,梳理需要录制的资源信息以及上下游依赖,并以此可衍生出录制任务的维度和配置。

  2. 性能容量评估:为保证生产录制过程不会影响日常交易,生产录制前,业务系统必须在测试环境进行性能容量评估,为录制工具预留一定的资源。


建立流量跨域自动化传输机制


为了避免流量录制回传过程中出现敏感信息泄露,工商银行提供了配置化的脱敏能力,可以基于用户配置实现针对性脱敏,建立生产录制流量跨域回传测试环境的常态化运行机制(如图 3 所示)。针对小批量录制数据,平台支持用户在线下载并手工导入测试环境。针对海量数据报文,平台支持后台自动生成批量文件、传输并导入测试环境,该方式具备数据分段传输、断点续传、完整性检查等功能特性。


为解决环境间数据差异性问题,平台提供了多维度的自定义替换功能,用户可根据场景特色进行配置,以提升回放成功率,最终形成一套流量录制、脱敏、传输、替换的全自动化流程。



图 3 自动化脱敏传输与替换


具备高适配、高并发的回放能力


传统的流量回放模式主要将流量无序的压入应用容器,该方式无法保障服务调用先后顺序,可能引发事务不一致风险。工商银行基于生产采集的服务接口信息,实现了报文组装和服务接口模拟调用,根据流量录制时序进行回放,支持用户灵活设置录制数据段、回放速率等个性化回放配置,形成从流量录制到回放的一站式演练能力。


针对部分下游强依赖场景,工商银行支持根据其入口流量透传的链路信息查找对应的子调用响应并返回,降低下游依赖性的同时提高了回放的成功率和场景适配性。


形成多维度结果比对分析机制


为提升流量回放结果的可观测性,平台提供基于定制化规则的多维度比对分析能力,实现录制响应报文与回放响应报文的差异化感知。基于 ClickHouse 的实时分析架构,可支撑百亿级交易的实时比对聚合,及时反馈回放任务运行效果,进而形成程序架构质量评价。多维度的结果筛选和分析能力(如图 4 所示),可有效协助业务人员敏捷分析异常原因,并及时做出调整。用户针对异常的流量可施行二次回放,直至回放成功率达到 100%,保证业务迁移前后功能的一致性。



图 4 结果比对分析


场景化应用


工商银行目前已初步形成一站式的常态化演练机制,在灾备带压演练、仿真切流验证、测试环境回归测试等场景提供了关键的技术支撑,最终保障生产业务安全。截至目前,平台已完成二十余个应用系统的接入使用,其中测试环境已得到规模化应用,灾备环境和仿真环境也已顺利支撑个人结算、信用卡产品等重点应用的验证工作。


带压灾备演练


在应用架构转型背景下,为确保灾备环境的承载能力,工商银行利用生产真实流量在灾备云实施回放,检验应用核心交易和服务在灾备云环境的性能和功能情况。带压灾备演练主要操作流程如下:


应用根据自身交易场景,梳理录制灰度集群、服务、时间段、关联交易等录制链路信息。运维支持人员根据应用梳理的生产操作手册,提前完成数据库数据同步以及生产报文录制,待流量录制完成后将其回传到灾备环境。为保证灾备环境回放真实性,运维支持人员以倍速回放灰度流量的方式模拟生产高并发冲击对业务系统性能容量的影响。应用根据回放的比对结果分析回放的业务交易成功率以及系统的整体承载能力(如图 5 所示),并以此作为应用架构转型成功与否的评判标准之一。



图 5 回放结果大屏展示

仿真切流验证


在应用架构转型的背景下,为保证业务核心交易的安全平稳升级,工商银行将生产真实流量准实时回放到生产仿真环境,验证业务切流前后交易的一致性。


与灾备带压演练不同,运维人员完成数据库数据同步后,同时下发录制任务和回放任务,生产录制的流量完成存储后将被准实时回放到仿真环境,应用根据生产交易结果与仿真交易结果的比对分析,判断核心交易逻辑是否与切流前一致。

测试回归验证


为保证回归测试案例的真实性、多样性和覆盖完整性,工商银行将生产真实流量脱敏后回传到测试环境进行回放,模拟生产真实交易进行的场景,以回放比对分析结果作为评判功能迁移或升级前后是否一致的标准。随着生产和测试流量的持续积累,回放案例库可基本覆盖业务代码的所有分支,测试人员通过流量回放实现了应用业务系统的常态化回归测试,大幅提升测试效能。


未来展望


未来,工商银行流量录制回放平台将进一步与链路监控、服务限流、混沌工程等其他运维工具相结合,完善运维工具链和分布式监控运维体系,拓展工具使用场景,提升流量录放的价值和意义,为金融业务场景稳定性提供有力支撑。


好文推荐


智谱 AI“超 25 亿融资”的背后


是时候彻底放弃“高分低能”的 Leetcode了:AI 时代的面试需要大变革!


B 站广州研发工作室解散;外媒曝光苹果中国区丑闻;OpenAI 被曝已叫停新大模型项目 | Q资讯


“MySQL 之父”的 MariaDB 要完蛋了?叫停两款核心产品并裁员 28%,分析师:该行为无异于自毁长城


2023-10-30 11:103197

评论

发布
暂无评论
发现更多内容

LED显示屏的节能效果

Dylan

娱乐 环保 LED显示屏 全彩LED显示屏 led显示屏厂家

Advanced RAG 05:探讨基于文本内在语义信息的数据分块方法

Baihai IDP

人工智能 程序员 AI rag 检索增强生成

记录工作以来遇到的最离谱的一个Bug

京东零售技术

Java 后端 企业号 4 月 PK 榜

想开发一款带有视频通话/共享屏幕功能的产品?那WebRTC是你必须要知道的!

编程的平行世界

WebRTC

「软件测试面试题集解析课」限时优惠,助你高效备战,一举拿下心仪职位

霍格沃兹测试开发学社

双栈网络使用什么技术实现总部网络能访问分部网络?

天翼云开发者社区

云计算 安全 网络 ipv6

轻资产创业:微信朋友圈广告投放代理授权,互联网广告一手媒介加盟

全媒体广告楚老师

Altair 宣布收购 Cambridge Semantics,为新一代企业Data Fabric和生成式 AI 赋能

新消费日报

新媒体广告项目招商 全媒体互联网广告代理加盟

互联网广告践行者

模型量化与量化在LLM中的应用 | 得物技术

得物技术

算法 性能优化 AIGC LLM 企业号 4 月 PK 榜

一键自动化博客发布工具,用过的人都说好(简书篇)

程序那些事

程序那些事 工具技巧

碳课堂|快速了解标准要点:ISO 14064-1

AMT企源

碳中和 碳达峰 碳管理

杭州悦数与伟仕佳杰达成战略合作,共绘图数据库市场新蓝图

悦数图数据库

图数据库 知识图

「软件测试面试题解析」限时优惠,助你高效备战,拿下心仪职位

测试人

软件测试

2024腾讯广告代理怎么申请 全媒体信息流广告代理好做吗

陈老师讲创业

Baidu Comate:“AI +”让软件研发更高效更安全

百度安全

Linux设备驱动系列(八)——ioctl系统调用

Linux内核拾遗

Linux Kenel 内核开发 设备驱动

全媒体广告如何代理 互联网信息流广告代理前景优势

全媒体大佬

万界星空科技MES系统中的业务过程管理流程

万界星空科技

生产管理系统 mes 车间管理

软件测试学习笔记丨Bug处理流程

测试人

软件测试

穿越周期,天翼云IaaS+PaaS全年市场份额跃居中国公有云市场第三!

新消费日报

Linux Bridge和Tap关系详解

天翼云开发者社区

云计算 Linux bridge

一本书了解AI的下一个风口:AI Agent

博文视点Broadview

MES管理系统在人工智能方面的应用

万界星空科技

人工智能 智能工厂 mes 万界星空科技

HashMap 原理分析

footmanff

hashmap HashMap底层原理 hashmap源码

一次性讲明白,如何搞定一个可以支持多芯混合训练的 AI 集群

百度Geek说

企业号 4 月 PK 榜 AI集群

【Android】Binder的Oneway拦截

iofomo

android 源码剖析 拦截器 binder

QCA9880 vs. QCN9224: Exploring the Differences in Qualcomm's Wireless Chipsets

wifi6-yiyi

wifi

项目中资源利用率的计算公式和方法

PingCode

项目管理 资源利用

国内独家|阿里云瑶池发布ClickHouse企业版:云原生Serverless新体验

阿里云瑶池数据库

数据库 云计算 阿里云 Clickhouse

电商新篇章:深入解析亚马逊国际关键字搜索商品API返回值

技术冰糖葫芦

API Explorer API boy api 货币化 pinduoduo API

中国工商银行基于生产流量的创新探索及实践_云计算_工商银行云计算实验室_InfoQ精选文章