首页 科普 资讯 养生 问答 找医院 相关问答
首页> 问答

拒绝双写:巧用Lindorm数据订阅

发布网友 发布时间:2024-10-24 11:27

我来回答

1个回答

热心网友 时间:2024-11-01 19:44

简介:本文介绍了双写场景的一致性问题,详细介绍了三种解决方案,并针对DB->Binlog->Kafka方案给出了Lindorm数据订阅的最佳实践。

双写问题介绍

双写问题(DualWriteProblem)是指:需要同时修改两个独立系统的场景,比如Database和Kafka,再比如Database和缓存,那么如何保障两个系统的数据一致性?

以Database和Kafka这种常见的场景为例,我们可以有这么几种方式:

并发写Database和Kafka

先写Kafka,再写Database

先写Database,再写Kafka

并发写Database和Kafka

这种情况下需要分布式事务来支持强一致,否则不一致的情况就会比较复杂,Database和Kafka可能没有一个有完整的数据。

先写Kafka,再写Database

先写Kafka,成功后即可返回客户端成功,然后订阅Kafka消息入库Database,实现最终一致性。但这种异步化导致DB的数据更新延迟,会影响一些要求强一致读的场景。比如账单写入成功,但客户不能立即查看;再比如实时归因场景,Flink实时消费Kafka,在遇到交易事件后反查DB归因,但可能此时关键数据还没入库。

先写Database,再写Kafka

串行写Database、Kafka,成功后返回客户成功。这种方式问题也不小,第一写入延迟增加,第二Database成功、Kafka失败怎么处理?

此时我们会想到Binlog(或者WAL),新的方案是DB->Binlog->Kafka:写入Database,成功后即可返回客户端成功,然后订阅binlog写入Kafka,下游订阅Kafka消费。实现最终一致性,同时保证了Database上的强一致读。

基于业务场景决策

上面我们介绍了双写问题的三种解决方案,他们各自适应不同场景。

如果业务要求全盘的强一致体验,那么我们应当选择分布式事务。

如果业务倾向全盘的最终一致性体验,那么我们选择以MQ为第一入口实现最终一致性。

如果业务存在不同的一致性体验需求,那么我们选择强一致读写DB,以DBbinlog实现最终一致性的下游业务。

Lindorm数据订阅介绍

Lindorm数据订阅是"DB->Binlog->Kakfa"方案的升级版。

云原生多模数据库Lindorm数据订阅功能支持任何一个表的每一条数据变更,可以在客户端实时有序的查看数据变更记录。当开通某一张表的数据订阅功能后,其变更数据的操作就会被存储。为了确保数据消费的顺序和数据写入的顺序一致,数据订阅功能提供了主键级别保序,对于同一个主键的更新操作,会按照其更新的顺序存储和消费。

每次对Lindorm表格的数据执行增删改操作时,数据订阅都会生成一个StreamRecord键值对,键值对的键是这一行数据的主键,值是此次操作的详细信息(操作前的值,操作后的值,时间戳,操作类型)。

总结Lindorm数据订阅的特点:

实时订阅

100%兼容Kafka客户端

Key级别保序

作者:阿里云云栖号
氢离子和碳酸根 氢离子和碳酸氢根 哪个反应快为什么 乌金木有哪些家具 乌金木家具如何搭配 木饰面装修多少钱一平方 关于加速度知识点的三个疑问 ...章探究加速度与力质量的关系知识点|物理加速度的5个公式 这只黑猫属于什么品种 孟买猫的免疫力如何 点火开关上的1234分别于红黄蓝黑线谁对应 万和热水器拨码开关,1234是全开的吗 点火开关1234什么意思 慢性盆腔炎怎么检查出来 怎样确诊盆腔炎 二月闹结束的征兆 手机锁屏动态壁纸怎么设置 杨颖奔跑吧兄弟的一集片酬是多少? 自由面包恰巴塔,怎么在国内红起来的 自由和面包哪一个更重要? 三星S23Ultra投屏怎么弄 手机投屏步骤教程一览 杜鹃花水大了如何补救 形容词变副词的变化规则有哪些 信用卡什么叫减免 信用卡减免什么费用 冰箱冷藏室如何调温度 档案绳怎么订 如何装订档案 怎么用针线装订档案 档案左上角直角装订方法 档案穿线装订方法 电脑网卡怎么打开电脑无线网卡怎么开启 求ubuntu下间断性识别EDGE无线上网卡的解决办法? ubuntu 有线和无线不能同时用吗 车子启动时发出滋滋响是什么原因 数字证书过期了还能用吗 数字证书过期了怎么更新 80分邮政邮票you 前门和毛主席像多少钱 手机上怎么发送pdf文件 软考中级考哪个更好 本企业字号变更同音字号,可以吗 公司注册书上重复名称怎么办 电影黑白森林中最后阿娇拿枪对着的那个人叫什么名字,有他的资料吗_百度... 金银花老桩好养活吗 3070显卡和4060显卡差距大吗? 3070显卡和4060显卡差距有多大 四六级查分忘记准考证号如何查询 忘记了四级的准考证号怎么办 独立显卡连接显示器不亮,是什么情况? 电脑插上独显卡后显示器不亮 电脑为什么会未识别到连接到NVIDIA GPU的显示器? 初中数学教资要学高中的吗 初中物理教资考高中知识吗 我和妯娌一起去买东西,钱是我出的,怎么张口管她要呢? 妯娌叫买东西三十多给回要吗 气化炉出气压力小,火力小是那里的问题? 欧派全屋定制效果怎么样? 【故障】14款新速腾出风口有问题!求各位大神解答 武爱江草书签名怎么写 喜欢二次元角色和追星有区别吗 缓存和数据库双写不一致?怎么解决? 我最近睾丸旁边的血管这里突然肿胀起来,很疼。是什么引起的,该怎么治疗... 睾丸肿胀病因 教师副高答辩通过按组拍名还是参加人全部排名 左睾丸上边血管肿了但不痛,是什么病啊,怎么治啊 ...中哪集是讲一个男人先后被几个人砸晕,然而他们都认为是自己杀... 研究生进修班研究生课程班知识问答 说说欧派全屋定制怎么样 如何让windows的dos窗口默认显示Unicode字符 土耳其进行曲是几级的曲子? 学校与培训机构有什么区别吗 梦见丢公共汽车的预兆 陆丰市水电二局过年奖金有多少 元太·巴黎春天小区简介 利港国际项目简介 金税盘作废发票怎么作废 观开学第一课有感 关于孝的结尾,长一点 利港国际项目名称 2022初中开学第一课观后感 淮河花园小学怎么样 金税盘作废电子发票怎么做 广州东到广州火车站 lol 刀妹 卡特 阿卡丽 小炮 这四个符文怎么配 能通用 不一定4 开学第一课观后感孝礼爱强八百字 热血英雄符文怎么搭配 用gameboy玩口袋妖怪绿宝石通关后重开显示记录消失怎么办,是gameboy游... qq群新年祝福语 消防验收包括哪些内容 口袋妖怪绿宝石怎么存档啊 列举五种害虫并写出所属的科 在一个qq群内 每一个网友发布一条新年祝福信息,共有90条信息,该qq群有... 魔兽世界s3套装去哪换 魔兽世界术士s3头那个好一点?是不是每个都带翅膀效果?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com