一江溪水
RabbitMQ与Kafka的区别 RabbitMQ与Kafka的区别
背景Kafka 和 RabbitMQ 都是常用的消息队列中间件,但它们的设计理念、架构、性能以及使用场景有所不同 1. 基本概念Kafka: Kafka 是一个分布式流平台,主要用于高吞吐量的数据流处理。它设计初衷是处理大规模的实时数据流,
2024-10-06
MQTT协议 MQTT协议
前言MQTT (Message Queue Telemetry Transport)是一种基于发布/订阅(publish/subscribe)模式的轻量级通讯协议,通过订阅相应的主题来获取消息,是物联网(Internet of Thing)
2022-12-10
事件总线 EventBus 事件总线 EventBus
前言EventBus 顾名思义,事件总线,是一个轻量级的 发布 - 订阅 模式的应用模式。相比于 MQ 更加简洁,轻量,它可以在一个小系统模块内部使用 EventBus允许组件之间通过发布 - 订阅进行通信,而不需要组件之间显示的注册。它
2022-11-12
RabbitMQ的死信队列 RabbitMQ的死信队列
什么是死信在 RabbitMQ 中充当主角的就是消息,在不同场景下,消息会有不同地表现。死信就是消息在特定场景下的一种表现形式,这些场景包括: 消息被拒绝访问,即 RabbitMQ返回 nack 的信号时 消息的 TTL 过期时 消息队列
2021-11-13
RabbitMQ 如何保证消息不会被重复消费 RabbitMQ 如何保证消息不会被重复消费
所有的消息队列都要保证同一条消息不会被重复消费 举个例子:假设有个系统,消费一条往数据库里插入一条,要是你一个消息重复两次,你不就插入了两条,这数据就错了 所以消费到第二次的时候,自己判断一下已经消费过了,直接扔了,就保留了一条数据 一
2021-10-30
RabbitMQ如何保证消息顺序消费 RabbitMQ如何保证消息顺序消费
为什么要顺序消费保证消息的顺序消费是生产业务场景下经常面临的挑战,例如电商的下单逻辑,在用户下单之后,会发送创建订单和扣减库存的消息,我们需要保证扣减库存在创建订单之后执行。 处理业务逻辑后,向MQ发送一条消息,再由消费者从 MQ 中获取
2021-10-29
如何保证消息的可靠性传输 如何保证消息的可靠性传输
在生产环境中,因为机器以及网络设备的不可靠,保证消息的可靠是待解决的问题。在特定场景下消息可能存在丢失风险 消息发送流程我们可以将 RabbitMQ 消息处理的过程分为三个步骤: 生产阶段:生产者生产消息并且发送到消息队列; 储存阶段:消
2021-09-20
RabbitMQ中消息确认和返回机制 RabbitMQ中消息确认和返回机制
RabbitMQ中消息确认和返回机制 为了保证 RabbitMQ 中消息的可靠性投递,以及消息在发生特定异常时的补偿策略 RabbitMQ诞生了消息确认和返回机制 这两种机制是 RabbitMQ 自带的补偿机制,可以直接使用消息确认消息确认
2021-08-02
RabbitMQ队列模型 RabbitMQ队列模型
模型定义 生产者(Producer):发送消息到队列的模块,可以理解为消息的提供者 队列(Queue):存储消息的一段空间,作为消息的缓存模块; 消费者(Consumer):从队列中接受消息的模块,可以理解为消息的处理者 交换机(Excha
2021-07-28
消息队列基础 消息队列基础
什么是队列队列这个概念非常好理解,你可以把它想象为在食堂排队打饭,先来的先打,后来的人只能站末尾,不允许插队,先进者先出,这就是典型的队列。队列的特定就是先进先出,先来的先出去 什么是消息队列消息 消息是指在应用间传送的数据。 消息可以非常
2021-07-27