分布式事务-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

分布式事务

游客pklijor6gytpx 2019-11-05 16:39:41 323

分布式事务

本问题来自阿里云开发者社区的【11大垂直技术领域开发者社群】。 点击链接欢迎加入感兴趣的技术领域群。

开发者
分享到
取消 提交回答
全部回答(3)
  • 津崎平匡
    2020-04-16 22:56:07

    在分布式事务操作的一方完成写业务数据的操作之后向本地消息表发送一个消息,本地事务能保证这个消息一定会被写入本地消息表中。

    0 0
  • huc_逆天
    2019-11-07 11:22:24

    首先需要理解分布式是什么,然后理解事务是什么,最后理解队列中分布式事务的处理实现。 分布式,概念存在于多个系统,区别于单体应用,采用分布式,分开部署应用,减小耦合程度,降低开发难度 事务,用来保持执行一致性,包括数据库的写入、查询等 在队列中,对分布式事务的处理,存在于多个消费者,消费同一条消息,如何保证,执行结果不会出现理论偏差。这就要求,当消费者消费消息时,要对处理做一定的实现。比如说,要改变数据库一个字段的值,那么当一个消费时消费消息,操作该值,时,要上一个悲观锁,操作完毕之后,发送消息给生产者,生产者及时改变状态。消费者再消费同一个消息,需要先查询一下,是否有人再消费,没有消费,有人的话,自动等待结果

    0 0
  • 游客pklijor6gytpx
    2019-11-05 16:40:03

    分布式事务涉及到两阶段提交。分为预提交阶段和commit阶段。在commit阶段需要回去改消息的状态。RocketMq在这里没有使用KV存储来做。而是在commit阶段会拿到消息的offset,然后直接去找消息,修改其状态。这样的好处是设计更简单,速度更快。缺点是会产生过多的数据脏页。

    0 0
添加回答
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

推荐文章
相似问题