首页 > 其他分享 >如何保障跨系统数据的最终一致性

如何保障跨系统数据的最终一致性

时间:2022-10-23 15:12:49浏览次数:93  
标签:保障 最终 离线 核对 MySQL 一致性 数据 数据库

场景

不知道大家看到数据一致性,第一时间想到的是什么? 我第一时间想到的是缓存和数据库的一致性,或者是一个数据库内的多个表的数据一致性。

关于缓存和数据库的一致性大家肯定都已经很熟悉了,无非是先改数据库还是先改缓存,分别会对应什么样的问题,我这里便不再一一赘述了。

同一个数据库内多个表的一致性也好解决,一般用事务足以。

那么这里请大家想一下,一个调用链路下来,一共十几个甚至几十个系统,如何保证他们各自系统的数据一致性。如何保证整个链路的连续性呢。

我举一个具体的场景,用户使用优惠券选择商品下单。这里面的资金流包括券资产的核销、用户实际的资金从第三方支付渠道比如支付宝、微信或者银行卡支付划拨到平台;用户确认收货后,资金根据商品的性质划分到商家、平台、推广佣金等等、用户方账单和商家方账单的更新、对应物理资金的流转,每一步都不能错,即使一分钱对不上就是资损、就是事故。

解决方案

数据量大了之后,难免会因为网络抖动、数据库抖动、云服务商抖动等原因,导致出现一些异常数据。这种情况既然无法避免,就要想办法能及时快速的排查出来,确保整个调用链路的最终一致性。想达到这样的效果,要怎么做呢?要防止这些小概率事件,只能多做冗余保护措施。

image.png

一般分为实时核对和离线核对两种思路。

实时核对

目前最常用的数据库当属MySQL,我们便以MySQL为例。通过监听MySQL产生的binlog,解析出特定类型的DML语句作为触发点来进行某些操作。比如可以将 DML语句中牵扯到的字段作为参数来发送MQ、调用RPC由接收方负责具体的业务核对逻辑。或者将表的关联规则和具体核对业务规则都写在负责实时核对的平台,解析出来后由平台进行统一的核对操作。-

离线核对

为了保证数据的准确性,还可以每日将数据库中的数据同步到HBase等离线表中,根据业务需要同步全量或者增量,然后通过写Hive SQL将多个离线表Join在一起,核对数据有无缺失、不一致。

总结

凡事必有代价,技术方案总有取舍,一般来说在比较重要尤其涉及到钱的部分,会通过实时核对和离线核对两种方案来保证数据的一致性,这背后的代价就是成本,包括离线表的储存使用成本、核对规则的编写成本、数据的同步成本等。 第一次创作,文笔略微有点生疏,请大家多多指教,一起讨论有没有更好的方式。

我是星辰与日暮之间,希望在掘金和大家一起进步成长。

本文由博客一文多发平台 OpenWrite 发布!

标签:保障,最终,离线,核对,MySQL,一致性,数据,数据库
From: https://blog.51cto.com/u_15815141/5787312

相关文章

  • 华为云CDN加速服务保障企业网络高速度需求
    随着互联网的发展,企业对网站的加速需求越来越高,加速业务越来越依赖于CDN服务商。这也带动了CDN技术不断提高,市场空间不断拓展。许多公司都想进入CDN行业想分一杯羹,这也导致C......
  • 8、CPU cache缓存一致性问题
    前面提到过现在CPU都是多核的,由于L1/L2Cache是多个核心各自独有的,L3Cache是多核共用的,那么会带来多核心的缓存一致性(CacheCoherence) 的问题,如果不能保证缓存一致性的......
  • 多版本并行,测试如何做好质量保障?
    昨天的文章总结了从软件工程角度,如何进行项目管理相关的知识。正好上周末星球内部直播时候,有同学问了一个问题:他们公司经常存在多版本并行的项目,不知道怎么做好质量保障工......
  • 华为云安全拒绝网页篡改,保障网络安稳运行
    在当今信息技术高度发展的时代,网络给人们生产和生活带来了前所未有的深刻冲击,网络安全问题不断出现,网络的安全与否直接关系到企业各项业务的运行情况,要想使自身的生产和发展......
  • CVPR2021深度框架训练:不是所有数据增强都可以提升最终精度
    计算机视觉研究院专栏作者:Edison_G数据增强(DA)是训练最先进的深度学习系统的必要技术。在今天分享中,实证地表明数据增强可能会引入噪声增强的例子,从而在推理过程中损害非增......
  • 图特征金字塔应用在目标检测,最终精度大幅度提升(附论文下载)
    计算机视觉研究院专栏作者:Edison_G​特征金字塔在需要多尺度特征的图像理解任务中已被证明是强大的。多尺度特征学习的最新方法侧重于使用具有固定拓扑结构的神经网络跨空间......
  • 测试质量保障的影响因素
    8月13日应邀在天津做了一场质量保障相关的分享,主题是《看长远顾眼前——测试活动的理想与现实》,其中关于测试质量的保障因素,自己做了个简单的总结,形成了如下图所示的公式,......
  • DNS(Bind9) Anycast 数据中心部署 最终版
    DNS(Bind9)Anycast数据中心部署最终版问题点:现网使用的是windowsad域控加windowsdns的结构,支撑全网设备的加域和域名解析功能,但由于部分终端机不能动态更换dns服务器ip......
  • 华为云灾备方案,如何保障企业数据安全
    随着信息化时代的到来,传统企业业务系统已不再适用现代化企业办公需求,为提升企业办事效率,各大企业开始着手构建数字信息化系统以加强自身竞争力。然而,数字化办公在不断提升企......
  • 华为弹性云服务器ECS,自动调整搭配安全保障,畅享硬核存算能力
    华为弹性云服务器ECS,自动调整搭配安全保障,畅享硬核存算能力​现在很多企业都喜欢大内存、大存储的服务器,可加快数据的交互和处理,可满足量大的数据访问使用场景,比如电商行业......