RabbitMQ(保姆级教程)

RabbitMQ学习

基础

1. 同步通信和异步通信

同步调用

下一步动作必须依赖上一步

异步调用

通知到位就行,不对消费者做强制要求,只要求最终一致性就行


2. MQ技术选项

消息先进先出,RabbitMQ默认有序 Erlang 是面向并发,专门解决性能问题,不限制语言,spring官方指定合作伙伴

RabbitMQ

安装
基本介绍

为了交换机命名避免冲突,通过虚拟主机进行隔离

快速入门

AMQP(高级队列消息协议),该协议与语言和平台无关

WorkQueue 实现一个队列绑定多个消费者

一人一半

Fanout 交换机
Direct交换机
Topic 交换机
声明队列和交换机


消息转换器

高级

生产者重连

生产者确认





MQ的可靠性

MQ持久化策略(3.6以前)

LazyQueue



消费者确认机制

消息本身有问题,就可以返回reject

失败重试


业务幂等性


延迟消息

死信交换机
延时队列插件

只适合延时时间间隔短的

相关推荐
Volunteer Technology15 小时前
Elasticsearch分布式原理
大数据·分布式·elasticsearch
Java开发的小李1 天前
SpringBoot + Redis 实现分布式 Session 共享(解决多实例登录状态丢失问题)
spring boot·redis·分布式
tsyjjOvO1 天前
分布式事务 Seata 与链路追踪 SkyWalking 全解析
分布式·skywalking
ezreal_pan1 天前
Kafka Docker 部署持久化避坑指南:解决重启后 Cluster ID 不匹配问题
分布式·docker·zookeeper·容器·kafka·devops
小张小张爱学习1 天前
Kafka面试题
分布式·kafka
fengxin_rou1 天前
RabbitMQ安装教程:windows本地安装和docker部署
java·分布式·后端·rabbitmq
星辰_mya1 天前
分布式消息领域的“深水区”问题
分布式
juniperhan1 天前
Flink 系列第20篇:Flink SQL 语法全解:从 DDL 到 DML,窗口、聚合、列转行一网打尽
大数据·数据仓库·分布式·sql·flink
小旭95271 天前
分布式事务 Seata 详解 + 链路追踪 SkyWalking 实战
java·分布式·后端·信息可视化·skywalking
ElevenS_it1882 天前
日志在哪里找?分布式环境下日志采集断裂的5个排查路径
运维·网络·分布式