首页 > 其他分享 >【事务型消息】

【事务型消息】

时间:2023-07-13 13:11:27浏览次数:34  
标签:事务 账单 数据库 投递 消息 变更

参考: https://developer.aliyun.com/article/712456

 

可以梳理一下完美解决 “账单变更 Case” 需要解决的关键点:

  • 必须满足“一致性”要求,即账单服务数据库变更事务提交成功,风险控制服务和短信通知服务收到“账单变更”消息;账单服务数据库变更事务回滚,风险控制服务和短信通知服务不会收到“账单变更”消息。
  • “账单变更”消息发布失败,尽量避免导致数据库变更事务的回滚。

为了解决以上描述的两个需求,消息队列需要提供一种特殊类型的消息:消息队列收到消息后不会立刻投递消息到消息订阅者,而是根据消息发布者应用的数据库事务状态决定消息是否投递。如果数据库事务提交,则消息投递到订阅者;反之则不投递。此类消息被命名为 “事务型消息”。

 

支持事务型消息: RocketMQ

 

标签:事务,账单,数据库,投递,消息,变更
From: https://www.cnblogs.com/clarino/p/17550189.html

相关文章

  • 数据库事务
    数据库事务四大特性1、原子性(Atomicity)即使事务的一部分失败,整个事务也会失败。这样,每个事务都必须100%成功才能成功提交到数据库。2、一致性系统要么将事务写入数据库(将数据库从一种有效状态更改为另一种状态),要么还原事务。3、隔离性隔离性是当多个用户并发访问数据......
  • 2023-07-12:RocketMQ如何做到消息不丢失?
    2023-07-12:RocketMQ如何做到消息不丢失?答案2023-07-12:RocketMQ通过刷盘机制、消息拉取机制和ACK机制等多种方式来确保消息投递的可靠性,防止消息丢失。1.刷盘机制RocketMQ中的消息分为内存消息和磁盘消息,内存消息在Broker内存中进行读写,磁盘消息则保存在磁盘上。RocketMQ支持同......
  • Spring事务属性
            ......
  • Spring事务角色
       ......
  • Spring事务简介
        @Transasctional这个可以写在方法上也可以写在类或者接口上写在类或者接口上,那么这个类或这个接口里面的全部方法都开启了事务   注意:PlatfromTransactionManager这个接口时Spring提供的标准接口,而下面的DataSourceTransactionManager实......
  • 揭开 RocketMQ 事务消息的神秘面纱
    事务消息是RocketMQ的高级特性之一,相信很多同学都对于其实现机制很好奇。这篇文章,笔者会从应用场景、功能原理、实战例子、实现细节四个模块慢慢为你揭开事务消息的神秘面纱。1应用场景以电商交易场景为例,用户支付订单这一核心操作的同时会涉及到下游物流发货、积分变更、......
  • 数据库的事务
    数据库事务事务是由相关操作构成的一个完整的操作单元,两次连续成功的commit或者rollback之间的操作,成为一个事务,在一个事务内,数据的修改一起提交或撤销,如果发生故障或系统错误,整个税务也会自动撤销。数据库事务的四大特性原子性:原子性是指事务是一个不可分割的工作单位,事......
  • SpringBoot中使用Netty开发WebSocket服务-netty-websocket-spring-boot-starter开源项
    场景SpringBoot+Vue整合WebSocket实现前后端消息推送:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/114392573SpringCloud(若依微服务版为例)集成WebSocket实现前后端的消息推送:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/114480731若依前后......
  • 实时社群技术专题(二):百万级成员实时社群技术实现(消息系统篇)
    本文由网易云信资深服务器开发工程师曹佳俊分享,原题“深度剖析“圈组”消息系统设计|“圈组”技术系列文章”,为了提升内容品质,本文有修订和删节。1、引言鉴于实时社群产品Discord在IM垂直应用领域的爆火,类似的需求越来越多,云信的“圈组”就是针对这种应用场景的技术产品。......
  • springcloud -分布式事务解决方案 seata 分布式id生成方案
     使用三个服务来进行演示三个服务的共同部分 pom相关依赖 <!--nacos--> <dependency>   <groupId>com.alibaba.cloud</groupId>   <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <!--seata-->......