上云无忧 > 文档中心 > 腾讯云消息队列 Pulsar 版实战教程 - 交易对账
消息队列 Pulsar 版
腾讯云消息队列 Pulsar 版实战教程 - 交易对账

文档简介:
场景描述: 对账是任何一个计费系统都需要的一个辅助系统。无论是对账作为支付的主路或是旁路系统,为了保证计费的准确性,都需要在支付过程中或支付完成之后进行对账。通过引入 TDMQ Pulsar 版,一方面保证了对账的时效性,另一方面也不会影响交易的关键路径。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

场景描述

对账是任何一个计费系统都需要的一个辅助系统。无论是对账作为支付的主路或是旁路系统,为了保证计费的准确性,都需要在支付过程中或支付完成之后进行对账。通过引入 TDMQ Pulsar 版,一方面保证了对账的时效性,另一方面也不会影响交易的关键路径。

遇到的问题

1. 系统解耦 交易涉及系统众多,系统之间需要解耦,避免互相影响。
2. 数据到达时间差 系统之间数据到达会有时间差,保证不同时间到达的数据能够聚合计算。
3. 数据一致性 保证数据不丢失,不会因为数据丢失造成对账结果异常。
4. 跨区域数据传输 系统部署分布在不同的地区,需要进行跨区域的数据传输。

部署架构图

问题解决

我们将根据上面提到的问题,使用 TDMQ Pulsar 版的解决方式。

1. 系统解耦问题

直观的看,为了实现各个系统之间的对账,我们可以直接将消息上报给对账系统,对账系统负责接受消息并进行对账处理。但是这里又面临一些问题,这里需要对接的系统很多,并且系统还会不断的增加。这样会花费大量的时间在系统之间的对接上,并且对现网的系统流程的侵入性就会非常大。显然,这样的设计是非常不合理的。我们通过 TDMQ Pulsar 版的引入,使得系统之间只需要和 MQ 进行统一对接,这样单个系统的问题也不会影响到其他服务。

2. 数据到达时间差问题

对账需要进行各个系统之间的数据聚合,要想进行实时的数据聚合,正常情况下数据到达的时间不会相差太大,但是因为系统之间的流程总是会有先后,当一个系统的数据延迟之后,为了能够实现数据的聚合,我们需要控制数据的读取速度,以免大量数据进入到对账系统中等待。通过 TDMQ Pulsar 版的暂时存储消息,使得同一时间的数据到达时间大致相同。

3. 数据一致性问题

TDMQ Pulsar 版提供高一致的可靠数据存储,保证数据不会丢失,同时提供高可用的服务,异常情况下能够快速自动修复。

4. 跨区域数据传输问题

TDMQ Pulsar 版提供两种方案来实现多个城市之间的数据复制,为业务层提供实时数据复制通道。
对于非常重要的数据需要满足跨城容灾级别的场景,可以支持多个区域之间进行强一致性的数据同步,使得消息的存储分布在不同的区域。
对于一些数据并不需要强一致要求的场景,TDMQ Pulsar 版提供多城市之间异步复制方案,来达到多地数据最终一致。
两种跨城同步方案的对比如下:
跨城方案
生产耗时
容灾性
存储成本
多城市强一致
多城市最终一致
通过引入 TDMQ Pulsar 版和实时计算的能力,我们将交易对账从按天的模式发展为实时对账的模式。更加快速的检测交易的准确性。
相似文档
  • 应用的幂等是在分布式系统设计时必须要考虑的一个关键点。如果对幂等没有额外的考虑,那么在业务出现处理失败的情况时,可能出现重复消费相同的消息,从而导致出现不符合业务预期的情况。为了避免上述异常,消息队列的消费者在接收到消息后,有必要根据业务上的唯一 Key 对消息做幂等处理。
  • 背景描述: 由于 Pulsar 限制消息最大为5MB,消息体过大将会导致消息发送失败。这时需要客户端将大消息进行压缩,以支持20MB大小的消息体发送。
  • 什么是消息队列 Pulsar 版? 消息队列 Pulsar 版(TDMQ for Pulsar,简称 TDMQ Pulsar 版)是一款基于 Apache Pulsar 自研的消息中间件,具备极好的云原生和 Serverless 特性,兼容 Pulsar 的各个组件与概念,具备计算存储分离,灵活扩缩容的底层优势。
  • 如何申请使用 TDMQ Pulsar 版? 首次进入 TDMQ Pulsar 版控制台 即可开通使用。
  • 为使用腾讯云消息队列 TDMQ 服务(以下简称“本服务”),您应当阅读并遵守《消息队列 TDMQ 服务等级协议》(以下简称“本协议” 或“SLA”),以及《腾讯云服务协议》。本协议包含本服务的术语和定义、服务可用性/服务成功率等级指标、赔偿方案、免责条款等相关内容。请您务必审慎阅读、充分理解各条款内容,限制、免责条款或者其他涉及您重大权益的条款可能会以加粗、加下划线等形式提示您重点注意。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部