消息队列
文章平均质量分 97
消息队列
Apple_Web
吃苹果的程序员正在努力ing...
展开
-
不止于方案,用代码示例讲解RabbitMQ顺序消费
关于消息队列(MQ)顺序消费的讨论比比皆是,网上一搜便是铺天盖地的文章。然而,很多文章只是浅谈思路,对于具体的代码实现却往往一笔带过,让许多开发者(包括我)感到一头雾水。所以有时候空谈方案不来点代码理解一下就等于纸上谈兵~根据业务需要,定义多个队列和与之相关的交换机,比如3个队列,那么他们并发度也相比原来的一个队列提升了2倍!注意每个队列定义的时候也要声明为单活模式!// 定义交换机@Bean// 定义多个队列,假设有三个队列@Bean//最主要的区别就是声明了这个队列是单活模式。原创 2024-09-22 15:13:23 · 1187 阅读 · 0 评论 -
不止于纸上谈兵,用代码案例分析如何确保RabbitMQ消息可靠性?
1.如果消息没有到exchange,则confirm回调,ack=false2.如果消息到达exchange,则confirm回调,ack=true3.exchange到queue成功,则不回调return4.exchange到queue失败,则回调return(需设置mandatory=true,否则不回回调,消息就丢了)Confirm 模式:确保消息成功到达交换机,适用于消息是否被成功接收的确认。性能较好,使用异步确认机制,但需要处理消息未被成功确认的情况。Return 模式。原创 2024-09-17 13:01:53 · 1066 阅读 · 0 评论 -
深入RabbitMQ世界:探索3种队列、4种交换机、7大工作模式及常见概念
DirectExchange 的路由策略是将消息队列绑定到一个 DirectExchange 上,当一条消息到达 DirectExchange 时会被转发到与该条消息 routing key 相同的 Queue 上,例如消息队列名为 “directQueue1”,则 routingkey 为 “directQueue1” 的消息会被该消息队列接收。// Config@Bean@Bean@Bean@Bean@Bean可以发现我们可以根据routingKey控制发送到哪个队列上,原创 2024-09-07 18:04:56 · 1273 阅读 · 0 评论 -
消息队列与分布式事务:探讨不同MQ如何实现可靠消息最终一致性
可靠消息最终一致性方案是指当事务发起方执行完成本地事务后并发出一条消息,事务参与方(消息消费者)一定能够接收消息并处理事务成功,此方案强调的是只要消息发给事务参与方最终事务要达到一致。事务发起方(消息生产方)将消息发给消息中间件,事务参与方从消息中间件接收消息,事务发起方和消息中间件之间,事务参与方(消息消费方)和消息中间件之间都是通过网络通信,由于网络通信的不确定性会导致分布式事务问题。原创 2024-08-17 13:37:15 · 1106 阅读 · 0 评论 -
你不知道的RocketMQ 消息重试机制
文章目录一、Producer端重试二、 Consumer端重试1、Exception2、Timeout其他理解死信的业务处理方式消息重试分为两种:Producer发送消息的重试 和 Consumer消息消费的重试。一、Producer端重试Producer端重试是指: Producer往MQ上发消息没有发送成功,比如网络原因导致生产者发送消息到MQ失败。部分源码解析: /** ...原创 2020-02-14 13:41:57 · 11342 阅读 · 3 评论 -
RabbitMQ解决消费者补偿幂等问题(重复消费问题)
文章目录如何合适选择重试机制消费者如果保证消息幂等性,不被重复消费如果消费者 运行时候 报错了package com.toov5.msg.SMS;import org.springframework.amqp.rabbit.annotation.RabbitHandler;import org.springframework.amqp.rabbit.annotation.RabbitLi...原创 2020-02-14 13:04:59 · 1245 阅读 · 0 评论 -
消息队列面试常见问题大综合
文章目录一、为什么使用消息队列?消息队列有什么优点和缺点?Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么优点和缺点?面试官心理分析面试题剖析为什么使用消息队列解耦异步削峰消息队列有什么优缺点Kafka、ActiveMQ、RabbitMQ、RocketMQ 有什么优缺点?二、如何保证消息队列的高可用?面试官心理分析面试题剖析RabbitMQ 的高可用性单机模式普通集群模式...原创 2020-02-09 17:17:02 · 3521 阅读 · 0 评论 -
RabbitMQ应用场景和其他MQ比较
1.背景RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue)的开源实现。2.应用场景2.1异步处理场景说明:用户注册后,需要发注册邮件和注册短信,传统的做法有两种1.串行的方式;2.并行的方式(1)串行方式:将注册信息写入数据库后,发送注册邮件,再发送注册短信,以上三个任务全部完成后才返回给客户端。 这有一个问题是,邮件,短信并不是必须的,它...原创 2020-02-05 22:38:27 · 1570 阅读 · 0 评论 -
CentOS7和CentOS6下安装rabbitmq
文章目录CentOS7安装:1.安装需要插件2.安装erlang3.安装RabbitMQ总结CentOS6安装:1.erlang安装erlang安装同CentOS7!!!2.rabbitmq安装:版本跟上面不一样!注意:centos和centos的一些命令不一样,比如启动服务!CentOS7安装:1.安装需要插件yum -y install make gcc gcc-c++ kernel-d...原创 2019-09-10 19:42:42 · 9423 阅读 · 0 评论