
《RabbitMQ消息队列》
文章平均质量分 91
RabbitMQ消息队列
墨家巨子@俏如来
EasyJF开源团队成员,10 年Java开发及项目管理经验,在企业中承担项目经理、架构师等职位,喜欢研究技术,执着于对技术底层的探索及源码的剖析;喜欢写文章,享有阿里云专家博主、优快云博客专家、Java领域优质创作者、华为云开发者联盟成员/技术博主(优快云搜索-墨家巨子@俏如来)代表作《SpringCloud入门到精通》,《SpringCloud源码深度剖析》,《SpringBoot入门到精通》,《Spring源码深度剖析》等等
展开
-
MQ领消息丢失方案
如果在订单更新状态后发送commit失败,这时候会有⼀个定时器,处理⻓时间未提交或回滚的half消息,会回查订单系统的事务状态。MQ接受到commit后会把之间的half消息进⾏提交,提交后,消息就对优惠券系统(消费者)可⻅,此时优惠券系。回查事务状态:如果事务时已提交,那么订单系统就发送commit,如果是已回滚,那么久发送rollback。如果成功发送,更新订单为已⽀付,如果失败,就退款。问题:消费者在拿到消息以后,还没来的及处理,就提交offset给broker,但这时,消费者服务器挂了。原创 2024-03-24 16:18:32 · 1052 阅读 · 0 评论 -
RabbitMQ入门到实战一篇文章就够了
MQ全称为Message Queue,即消息队列. 它也是一个队列,遵循FIFO原则 。RabbitMQ是由erlang语言开发,基于AMQP(Advanced Message Queue Protocol高级消息队列协议)协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开 发中应用非常广泛。官方地址:http://www.rabbitmq.com/原创 2024-03-08 11:35:05 · 18056 阅读 · 8 评论 -
你还在用定时任务处理过期数据吗?看我MQ延时队列如何优雅的解决
学习使用,老鸟飞过,欢迎评论交流为什么要用到延迟队列在开发项目的时候我们通常会遇到这么一个问题,比如商城项目有一下单逻辑,下单成功数据保存在数据库中,下单成功后需要用户进行支付,如果在30分钟内支付失败,需要修改订单的支付状态为“支付超时”并关闭订单以及回退库存操作,那如何在下单30后准时检查支付结果处理订单状态呢?你可能想到了一个最简单的方法,就是使用定时任务扫描订单表,判断时间是否支付超时,这样的方式无疑是一种很消耗性能的做法,你试想一下,定时扫描一张数据量很大的表去判断时间和状态,而且99%的扫原创 2020-11-25 17:30:49 · 3323 阅读 · 16 评论