
RabbitMQ
文章平均质量分 92
RabbitMQ的学习
摆烂java选手
想学新技术
展开
-
RabbitMQ运维
RabbitMQ 集群是 RabbitMQ 实现高可用性(HA)、负载均衡和横向扩展的核心机制。RabbitMQ 的仲裁队列是⼀种基于 Raft ⼀致性算法实现的持久化、复制的FIFO队列。仲裁队列提供队列复制的能力,保障数据的高可用和安全性。使用仲裁队列可以在RabbitMQ节点间进行队列数据的复制,从而达到在⼀个节点宕机时,队列仍然可以提供服务的效果。原创 2025-04-06 11:07:15 · 1013 阅读 · 0 评论 -
RabbitMQ应用问题
对于MQ而言,幂等性是指同⼀条消息,多次消费,对系统的影响是相同的。At most once:最多⼀次。消息可能会丢失,但绝不会重复传输。At least once:最少⼀次。消息绝不会丢失,但可能会重复传输。Exactly once:恰好⼀次。每条消息肯定会被传输⼀次且仅传输⼀次。RabbitMQ支持"最多⼀次"和"最少⼀次"。在业务使用中,对于可靠性要求比较高的场景,建议使用"最少⼀次",以防止消息丢失。"最多⼀次"会因为消息发送过程中,网络问题,消费出现异常等种种原因,导致消息丢失。原创 2025-04-05 15:23:49 · 989 阅读 · 0 评论 -
RabbitMQ高级特性2
TTL+死信队列组合的方式使用官方提供的延迟插件实现延迟功能基于死信实现的延迟队列1)灵活不需要额外的插件支持1)存在消息顺序问题2)需要额外的逻辑来处理死信队列的消息,增加了系统的复杂性基于插件实现的延迟队列1)通过插件可以直接创建延迟队列,简化延迟消息的实现.2)避免了DLX的时序问题1)需要依赖特定的插件,有运维⼯作2)只适用特定版本。原创 2025-04-04 22:15:58 · 1240 阅读 · 0 评论 -
RabbitMQ高级特性1
Producer -> Broker:发送方确认Producer -> Exchange :Confirm模式(网络问题)Exchange -> Queue : return模式(代码或者配置层错误,导致消息路由失败)队列移除:死信等Broker:持久化(RabbitMQ服务器宕机导致消息丢失)交换机持久化队列持久化消息持久化Broker -> Consumer 消息确认方式(消费者未来得及消费信息,就宕机了)自动确认手动确认。原创 2025-04-03 21:04:38 · 1052 阅读 · 0 评论 -
RabbitMQ应用2
【代码】RabbitMQ应用2。原创 2025-04-02 21:44:12 · 508 阅读 · 0 评论 -
RabbitMQ应用1
路由模式的升级版,在RoutingKey的基础上,增加了通配符的功能,使之更加灵活,Topics和Routing的基本原理相同,即生产者将消息发给交换机,交换机根据RoutingKey将消息转发给与RoutingKey匹配的队列,类似于正则表达式的方式来定义RoutingKey的模式。路由模式是发布订阅模式的变种,在发布订阅的基础上,增加路由key,发布订阅模式是无条件的将所有消息分发给所有消费者,路由模式是Exchange根据RoutingKey的规则,将数据筛选后发给对应的消息队列。原创 2025-04-02 13:04:32 · 932 阅读 · 0 评论 -
RabbitMQ快速上手
全称:Advanced Message Queuing Protocol(高级消息队列协议)定位:开放标准的应用层协议,专为可靠、异步、跨平台的消息通信设计,支持企业级消息中间件功能。起源:2003年由金融行业(JPMorgan Chase等)发起,旨在解决异构系统间消息传递的兼容性问题。后由OASIS组织标准化,最新版本为AMQP 1.0(ISO/IEC 19464)。原创 2025-03-31 22:32:28 · 796 阅读 · 0 评论 -
RabbitMQ简单介绍和安装
RabbitMQ 是一款开源的 消息中间件(Message Broker),遵循 AMQP(Advanced Message Queuing Protocol) 协议标准,专为分布式系统提供高效、可靠的消息通信机制。它通过解耦生产者和消费者、异步处理、流量削峰等能力,成为构建复杂企业级应用的核心组件之一。同步通信:直接调用对方的服务,数据从一端发出后立即就可以达到另一端。异步通信:数据从一端发出后,先进入一个容器进行临时存储,当达到某种条件后,再由这个容器发送给另一端(容器的一个具体实现就是MQ)原创 2025-03-31 12:37:58 · 930 阅读 · 0 评论