首页 > 其他分享 >RabbitMQ

RabbitMQ

时间:2024-12-25 17:29:48浏览次数:5  
标签:消费 消费者 队列 RabbitMQ ACK 死信 消息

支持多种语言

RM架构:

如何保证消息可靠性?

1.保证消息可以到达Exchange

异步回调(Confirums机制

步骤:开启confirms;设置confirms的异步回调(ACK/NCK)

2.保证消息可以路由到Queue

Return机制

3.保证Queue可以持久化消息

RM重启后队列中的消息依然存在

4.保证消费者可以正常消费信息

手动ACK

死信队列

死信:

1.消息被消费者拒绝,会重新放回到队列中供其他消费者消费,requeue设置为false

2.指定了队列中的消息生存时间/发送消息时设置了消息的生存时间,生存时间到了,消息没有被消费

3.队列已经到达消息的最大长度,之后路由过来的消息直接变为死信

消费者执行了ACK/reject机制,并设置requeue==false,那么消费者没有消费的信息会重新放回到队列中,并路由到死信交换机,进而放到死信队列中供消费者消费

应用:

1,基于死信队列,队列消息已经满的情况下,消息也不会丢失;

2.实现延迟消费的效果,如下订单在一定的时间内付款

延迟交换机

死信队列实现延迟消费时,如果延迟时间比较复杂,比较多,直接使用队列需要创建大量队列

RM集群

标签:消费,消费者,队列,RabbitMQ,ACK,死信,消息
From: https://blog.csdn.net/weixin_47559057/article/details/144710652

相关文章

  • Windows 彻底卸载RabbitMQ
    要在Windows系统上彻底卸载RabbitMQ,确保删除所有相关文件和配置,请按照以下步骤操作:1.卸载RabbitMQ和Erlang打开“控制面板”,选择“程序和功能”。在已安装的程序列表中,找到“RabbitMQServer”,右键单击并选择“卸载”。同样地,找到“ErlangOTP”,右键单击并选择“卸载......
  • Kafka、RocketMQ、RabbitMQ 对比
    面试中对Kafka、RocketMQ、和RabbitMQ的对比是常见问题,可以从以下几个维度进行分析:1️⃣基础概念特性KafkaRocketMQRabbitMQ开发语言Java+ScalaJavaErlang定位分布式流处理平台分布式消息中间件高效、可靠的消息队列消息模型Topic,基于分区和偏移量Topic/Queue,基......
  • RabbitMQ之Shovel插件
    部署背景:混合部署在一个集群内,发生资源抢夺就会造成某一个rabbitmq节点high_watermark告警。a、multi-env  b、[_^strong:617eaaa5!]Stateless/Stateful 资源使用不均衡混合云迁移RabbitMQ是一个开源的消息代理软件,它可以用于构建分布式系统中的消息传递架构。Rabbit......
  • RabbitMQ:windows系统安装
    一、安装erlang1、我i们先安装erlangOtp25.3.2.16-Erlang/OTP 2、安装右键,选择以管理员身份运 点击next;3、配置环境变量4、验证是否安装成功直接win+cmd命令:erl出现以下版本号则配置成功二、安装RabbitMQ1、官网下载RabbitMQ在Installing on Wi......
  • 云消息队列 RabbitMQ 版
    云消息队列RabbitMQ版通常指的是在云平台上运行的RabbitMQ消息队列服务。这种服务提供了基于RabbitMQ的消息队列功能,并在云环境中提供高可用、可扩展的消息传递机制,适用于分布式系统中的异步通信和任务队列管理。什么是RabbitMQ?RabbitMQ是一个流行的开源消息队列中......
  • 不同操作系统下安装RabbitMQ的详细步骤
    Ubuntu/Debian系统更新系统软件包列表打开终端,执行以下命令:sudoapt-getupdate这一步是为了确保系统的软件包索引是最新的,以便能够正确安装RabbitMQ相关的软件包。安装Erlang(RabbitMQ运行依赖)执行以下命令安装Erlang:sudoapt-getinstallerlang-baseerlang-asn1......
  • 【中间件】RabbitMQ
    一、RabbitMQ概念RabbitMQ是一个开源消息中间件,使用Erlang语言编写。它实现了高级消息队列协议(AMQP),提供可靠的消息传递机制。RabbitMQ允许应用程序在分布式环境中进行异步通信,通过将消息发送到中间件而不是直接发送给接收方,应用程序可以通过解耦和异步处理来提高系统的可靠......
  • 初学rabbitMQ中的生产者和消费者(JavaSE环境下)
    生产者:publicstaticvoidmain(String[]args)throwsIOException,TimeoutException{//1创建一个连接工厂ConnectionFactoryConnectionFactoryconnectionFactory=newConnectionFactory();//2设置rabbitMQ的ip地址connectio......
  • 安装 RabbitMQ
    安装RabbitMQ更新软件包:sudoapt-getupdate安装RabbitMQ:sudoapt-getinstallrabbitmq-server确认安装结果:systemctlstatusrabbitmq-server开启Web管理rabbitmq-pluginsenablerabbitmq_managementhttp://localhost:15672使用guest/guest作为用户名密码登录用户管理命......
  • RabbitMQ快速入门 - 生产者和消费者的简单实现
    引入依赖<dependency><groupId>com.rabbitmq</groupId><artifactId>amqp-client</artifactId><version>5.7.3</version></dependency>编写生产者代码        RabbitMQ默认的⽤于客户端连接的TCP端⼝号是5672,需要提前进⾏开放代码及其注解p......