名医指导 足不出户寻医问药
聚焦健康 权威的健康资讯
您的位置: 首页> 正文

拒绝双写:巧用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级别保序

作者:阿里云云栖号
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
石料加工服务可以全部交给第三人完成吗 山东沃尔德集团集团所辖公司介绍 齐鲁银行无忧贷和市民贷哪个好 什么叫补按揭 后按揭贷款什么意思 买房者续按揭有什么危害 加按揭是什么意思 八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 高分!换显卡nvidia控制面板被我卸了,重新安装显卡驱动后没了nvidia控... 我的nvidia控制面板被卸载了 怎么找回啊 卸载后 这个画面看着很奇怪_百 ... 李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 我和妯娌一起去买东西,钱是我出的,怎么张口管她要呢? 妯娌叫买东西三十多给回要吗 气化炉出气压力小,火力小是那里的问题? 欧派全屋定制效果怎么样? 【故障】14款新速腾出风口有问题!求各位大神解答 武爱江草书签名怎么写 喜欢二次元角色和追星有区别吗 缓存和数据库双写不一致?怎么解决? 我最近睾丸旁边的血管这里突然肿胀起来,很疼。是什么引起的,该怎么治疗... 睾丸肿胀病因 教师副高答辩通过按组拍名还是参加人全部排名 左睾丸上边血管肿了但不痛,是什么病啊,怎么治啊 ...中哪集是讲一个男人先后被几个人砸晕,然而他们都认为是自己杀... 研究生进修班研究生课程班知识问答 说说欧派全屋定制怎么样 如何让windows的dos窗口默认显示Unicode字符 土耳其进行曲是几级的曲子? 学校与培训机构有什么区别吗 梦见丢公共汽车的预兆 陆丰市水电二局过年奖金有多少 元太·巴黎春天小区简介 利港国际项目简介 金税盘作废发票怎么作废 观开学第一课有感 关于孝的结尾,长一点 利港国际项目名称 2022初中开学第一课观后感 淮河花园小学怎么样 金税盘作废电子发票怎么做 广州东到广州火车站 lol 刀妹 卡特 阿卡丽 小炮 这四个符文怎么配 能通用 不一定4 开学第一课观后感孝礼爱强八百字 热血英雄符文怎么搭配 用gameboy玩口袋妖怪绿宝石通关后重开显示记录消失怎么办,是gameboy游... qq群新年祝福语 消防验收包括哪些内容 口袋妖怪绿宝石怎么存档啊 列举五种害虫并写出所属的科 在一个qq群内 每一个网友发布一条新年祝福信息,共有90条信息,该qq群有... 魔兽世界s3套装去哪换 魔兽世界术士s3头那个好一点?是不是每个都带翅膀效果?
  • 焦点

最新推荐

猜你喜欢

热门推荐