本页介绍了双重运行在线比较,该功能可帮助您比较在线交易的输出。借助此功能,您可以验证在 Google Cloud 上运行的现代化应用对于相同的给定输入是否与旧版大型主机应用的行为完全相同。
在线比较的运作方式
借助 Dual Run 的在线比较功能,您可以捕获实时流量,在现代化系统中重现流量,并比较结果,从而分析交易。
在线比较的第一步是捕获大型机与现代化应用之间的网络流量。Dual Run 使用拦截器来实现此目的。
然后,双重化器组件会将捕获的在线交易重放到现代化辅助系统。它从队列(例如 Pub/Sub)中提取记录的交易,向辅助系统发送请求,并检索响应。
最后,双重运行会使用与批量文件比较相同的底层比较引擎来比较主要响应和次要响应。它将请求、响应和比较结果存储在 Cloud Storage 中,并将比较结果流式传输到 BigQuery。
支持的协议
双重运行支持以下协议以进行在线比较:
- HTTP(S) SOAP
- HTTP(S) REST
- MQ
- TN3270
主要特性
双重运行在线比较功能提供了多项功能,可实现精准灵活的交易分析。
端点组
端点组是 Dual Run 中的核心机制,可让您将大型机端点连接到现代化应用端点。您可以定义端点组,以指定应如何处理和比较流量。
灵活的比较配置
在线比较功能依赖于两个配置文件来执行比较:
- 格式文件:指定消息中存在的字段的格式。
- 比较文件:指定双重运行应比较的字段。
这些配置文件使用的逻辑与批量比较文件相同。
借助双重运行,您可以灵活地为端点组指定默认格式和比较文件,并根据需要为特定端点替换这些文件。
Dual Run 还提供了一个命令行界面 (CLI) 工具,可帮助您根据流量消息记录生成配置文件。生成后,您可以手动修改文件以微调配置。
运行模式
您可以将端点组配置为以不同模式运行:
- 直通:通过拦截器转发流量,而不进行修改或双化。此模式有助于验证网络连接,而不会影响主要端点性能。
- 记录:捕获并存储来自主端点的实时流量,以供日后分析或生成配置。
- 双重化:记录主端点上的操作,在辅助端点中重放该操作,并比较事务。
- 单输出 Hub (SOH):用于大型机充当客户端的 MQ 端点。它记录主要端点上的操作,在次要端点中阻止该操作,以防止向外部系统发送重复消息,并比较请求而非响应。
路由和比较规则
借助 Dual Run,您可以将映射规则应用于应用的流量,从而为不同场景配置不同的比较文件和格式文件。当记录与规则(基于字段、正文内容、来源或格式)匹配时,双重运行会使用您指定的特定配置文件执行比较。
支持不同的消息格式
如果现代化(辅助)系统返回的消息格式与旧版(主要)系统返回的消息格式不同(例如,从纯文本迁移到 JSON),则双重运行支持此类情形。您可以配置独立的格式,并定义 Dual Run 应如何将它们配对以进行比较。
支持有状态会话
对于 TN3270 等有状态通信协议,双重运行使用会话处理程序。此组件可维护与辅助系统的有效会话,并实现与大型机的持续连接。
后续步骤
详细了解 Dual Run 架构。