当前位置: 首页 > article >正文

RabbitMQ问题

如何实现顺序消费?

消息放入到同一个队列中消费

如何解决消息不丢失?

方案:

如上图:消息丢失有三种情况,解决了以上三种情况就解决了丢失的问题

1、丢失1--->消息在到达交换机的时候;解决:MQ需要开启确认模式

2、丢失2--->在MQ内容丢失的问题;解决:开启消息持久化(交换机设置,队列设置)

3、丢失3--->消息抵达消费者的时候;解决:消费者开始手动ACK

如何解决消费积压?

1、多队列,根据不同消息类型放在不同队列

2、多消费者,根据消息的类型和优先级分配消费者

3、设置TTL,不能无限制阻塞,设置过期时间

如何解决消息重复?

原因:

1、生产者发送消息到MQ,但是由于网络波动,MQ没有回复,生产者又重新发送了一次

2、MQ消息到达消费者时,由于网络波动,没有回复,MQ又重新发送了一次

方案:幂等性

1、消息传递时,需要携带一个唯一ID,将此ID存到redis中

2、接收到消息,先去redis中查,如果有则直接丢弃此消息,如果没有正常消费,将该ID存redis设置TTL


http://www.kler.cn/a/274602.html

相关文章:

  • windwos defender实现白名单效果(除了指定应用或端口其它一律禁止)禁止服务器上网
  • 7-2 排序
  • go-zero(十四)实践:缓存一致性保证、缓存击穿、缓存穿透与缓存雪崩解决方案
  • Vue3组件封装技巧与心得
  • qlib优缺点
  • linux----系统i/o
  • RabbitMQ 安装保姆级教程
  • 整型数组按个位值排序 - 华为OD统一考试(C卷)
  • wireshark windows 抓包https
  • ES进程除了kill之外,有什么优雅关闭的方式吗?
  • 计算机二级(Python)真题讲解每日一题:《方菱形》
  • 【2024最新版,redis7】redis底层的10种数据结构
  • 力扣爆刷第100天之hot100五连刷86-90
  • cuda从入门到精通(六)共享内存和循环分块实现CUDA矩阵乘
  • 单片机-点亮LED灯
  • Android Kotlin版封装EventBus
  • .htaccess全站设置SSL,wordpress全站设置SSL,网站重定向的次数过多”错误最佳解决方法教程
  • 【Linux】详谈进程优先级进程调度与切换
  • python失物招领系统-安卓-flask-django-nodejs-php
  • 产品推荐 | 基于XC7K325T的FMC接口万兆光纤网络验证平台
  • 5.2.3、【AI技术新纪元:Spring AI解码】 Azure OpenAI 扩展
  • 【Node.js从基础到高级运用】十五、单元测试与集成测试
  • ISIS接口明文认证实验简述
  • 智慧城市:提升城市治理能力的关键
  • 【计算机视觉】Gaussian Splatting源码解读补充
  • React——组件通讯(不完整版)