RabbitMQ(保姆级教程)

RabbitMQ学习

基础

1. 同步通信和异步通信

同步调用

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

异步调用

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


2. MQ技术选项

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

RabbitMQ

安装
基本介绍

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

快速入门

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

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

一人一半

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


消息转换器

高级

生产者重连

生产者确认





MQ的可靠性

MQ持久化策略(3.6以前)

LazyQueue



消费者确认机制

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

失败重试


业务幂等性


延迟消息

死信交换机
延时队列插件

只适合延时时间间隔短的

相关推荐
java叶新东老师1 小时前
RabbitMq 常用命令和REST API
分布式·rabbitmq·ruby
liulilittle6 小时前
C++ TAP(基于任务的异步编程模式)
服务器·开发语言·网络·c++·分布式·任务·tap
码字的字节6 小时前
ZooKeeper在Hadoop中的协同应用:从NameNode选主到分布式锁实现
hadoop·分布式·zookeeper·分布式锁
武子康8 小时前
Java-80 深入浅出 RPC Dubbo 动态服务降级:从雪崩防护到配置中心秒级生效
java·分布式·后端·spring·微服务·rpc·dubbo
itLaity13 小时前
基于Kafka实现简单的延时队列
spring boot·分布式·kafka
qq_5298353514 小时前
Zookeeper的简单了解
分布式·zookeeper·云原生
smileNicky15 小时前
RabbitMQ有多少种Exchange?
分布式·rabbitmq
你我约定有三15 小时前
RabbitMQ--消息丢失问题及解决
java·开发语言·分布式·后端·rabbitmq·ruby
Java初学者小白15 小时前
秋招Day19 - 分布式 - 分布式事务
java·分布式
程序员小羊!17 小时前
Zookeeper 3.6.3【详细技术讲解】整
分布式·zookeeper·云原生