RabbitMQ常见的应用问题

这篇具有很好参考价值的文章主要介绍了RabbitMQ常见的应用问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.消息可靠性保障

在实际生产环境中,可能会由于网络问题导致消息接收异常产生某种影响,基于这种情况我们需要保障消息的可靠性。

RabbitMQ中的消息可靠性也称为消息补偿,如下图所示,可以保证消息的可靠性。

分为9种种步骤实现消息补偿

1、生产者处理业务逻辑,将数据写入到数据库。

2、生产者将业务数据写入数据库后,向Q1消息队列发送消息数据。

3、生产者向Q1发送完消息数据后,过段时间后,会发送一个延迟消息到达Q3队列。

4、消费者从Q1队列中读取消息数据。

5、读取消息数据后,消费者根据业务逻辑向数据库中写入数据。

6.、消费者充当发布者的身份向Q2队列写入一条确认收到消息的数据,表示消费者已经收到数据并且进行了业务处理。

7、回调检查系统从Q2队列中读取消费者发送的消息数据。

8、回调检查系统再将消息数据写入到MQ数据库中,作用于记录消息传递是否成功的标志。

如果消费者接收消息出现了异常,接收失败了,第三步发送延迟消息就起到了保证消息可靠性的重要环节,生产者会发生一个延迟消息到Q3队列中,回调系统也会从Q3队列中读取延迟消息,延迟消息和正常消息是一模一样的,回调检查系统会把延迟消息的ID与MQ数据库中的消息ID进行比对,如果存在数据那么久不会再做文章来源地址https://www.toymoban.com/news/detail-516037.html

到了这里,关于RabbitMQ常见的应用问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • RabbitMQ常见问题以及实际问题解决

    ** ** 消息可靠性问题: 消息从生产者发送到Exchange,再到queue,再到消费者,有哪些导致消息丢失的可能性? 发送时丢失: - 生产者发送的消息为送达exchange - 消息到达exchange后未到达queue MQ宕机,queue将消息丢失 consumer接收到消息后未消费就宕机 ①生产者消息确认 RabbitMQ提供

    2024年02月16日
    浏览(49)
  • RabbitMQ常见问题之消息堆积

    当生产者发送消息的速度超过了消费者处理消息的速度,就会导致队列中的消息堆积,直到队列存储消息达到上限。最 早接收到的消息,可能就会成为死信,会被丢弃,这就是消息堆积问题。 解决消息堆积有三种种思路: 增加 更多消费者 ,提高消费速度 在消费者内开启 线程

    2024年01月18日
    浏览(42)
  • RabbitMQ常见问题之延迟消息

    当一个队列中的消息满足下列情况之一时,可以成为死信( dead letter ): 消费者使用 basic.reject 或 basic.nack 声明消费失败,并且消息的 requeue 参数设置为 false 消息是一个过期消息,超时无人消费 要投递的队列消息堆积满了,最早的消息可能成为死信 如果该队列配置了 dead

    2024年01月18日
    浏览(62)
  • ActiveMQ、RabbitMQ、RocketMQ、Kafka介绍

    一、消息中间件的使用场景   消息中间件的使用场景总结就是六个字:解耦、异步、削峰   1.解耦 如果我方系统A要与三方B系统进行数据对接,推送系统人员信息,通常我们会使用接口开发来进行。但是如果运维期间B系统进行了调整,或者推送过程中B系统网络进行了调整,

    2024年02月05日
    浏览(48)
  • RabbitMQ常见问题之高可用

    RabbitMQ 的是基于 Erlang 语言编写,而 Erlang 又是一个面向并发的语言,天然支持集群模式。 RabbitMQ 的集群有两 种模式: 普通集群:是一种分布式集群,将队列分散到集群的各个节点,从而提高整个集群的并发能力。 镜像集群:是一种主从集群,普通集群的基础上,添加了主从备

    2024年01月18日
    浏览(46)
  • RabbitMQ常见问题及其解决方案

    目录 RabbitMQ如何保证顺序消费 RabbitMQ消息丢失及其解决方案 RabbitMQ如何保证顺序消费 RabbitMQ重复消费及其解决方案 RabbitMQ如何保证不重复消费 RabbitMQ消息积压及其解决方案 RabbitMQ如何实现分布式事务以及保障消息最终一致性 在 RabbitMQ 中实现顺序消费可以考虑以下方法: 单一

    2024年02月09日
    浏览(44)
  • RabbitMQ常见问题及解决方案

    目录 一、消息丢失 1、生产者重连 2、生产者确认 3、数据持久化 4、惰性队列 5、消费失败处理 二、消息重复 1、通过业务保证幂等性(优先) 2、通过消息状态去重保证幂等性 三、消息堆积 1、优化消费者处理逻辑 2、增加队列及消费者数量 3、使用惰性队列 四、保证消息顺

    2024年02月03日
    浏览(48)
  • RabbitMQ常见问题之消息可靠性

    MQ 的消息可靠性,将从以下四个方面展开并实践: 生产者消息确认 消息持久化 消费者消息确认 消费失败重试机制 对于 publisher ,如果 message 到达 exchange 与否, rabbitmq 提供 publiser-comfirm 机制,如果 message 达到 exchange 但是是否到达 queue , rabbitmq 提供 publisher-return 机制。这两

    2024年01月18日
    浏览(42)
  • RabbitMQ详解与常见问题解决方案

    RabbitMQ 是一个开源的消息中间件,使用 Erlang 语言开发。这种语言天生非常适合分布式场景,RabbitMQ 也就非常适用于在分布式应用程序之间传递消息。RabbitMQ 有非常多显著的特点: 消息传递模式 :RabbitMQ 支持多种消息传递模式,包括发布/订阅、点对点和工作队列等,使其更

    2024年03月15日
    浏览(78)
  • 【技术选型】ActiveMQ、RocketMQ、RabbitMQ、Kafka对比

    MQ(Message Queue),即消息队列。早已成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的MQ,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发RocketMQ等。

    2024年02月13日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包