这里写目录标题
- RabbitMQ
- Springboot整合RabbitMQ
- RabbitMQ的常见开发模式
- 如何保证消息的可靠生产和可靠投递
- 什么是死值队列和延迟队列
RabbitMQ
消息队列有: 1、ActiveMQ 2、RabbitMQ 3、ZeroMQ 4、Kafka
什么是RabbitMQ?
RabbitMQ是一个开源的消息队列服务器,用来通过营通协议在完全不同的应用之间共享数据,Rabbitmg是使用Erlang语言(数据传递
)来编写的,并且Rabbitmg是基于AMQP协议
(协议是一种规范和约束)的。开源做到跨平台机制
- Erlang语言
- AMQP协议(规则)
- AMQP协议(规则)
- AMQP全称:Advanced Message Queuing Protocol(高级消息队列协议)
- 是具有现代特性的二进制协议,是一个提供统一消息服务的应用层标准高级消息队列协议,是应用协议的一个开发标准,为面向消息的中间件设计。
在Connection处有一个知识点叫做长连接:此链接只开一次,但根源是线程的执行,执行
为什么要学习RabbitMQ?
小结
- 解耦,系统A在代码中直接调用系统B和系统C的代码,如果将来D系统接入,系统A还需要修改代码,过于麻烦。
- 异步,将消息写入消息队列,非必要的业务逻辑以异步的方式运行,加快响应速度.。
- 削峰,并发量大的时候,所有的请求直接怼到数据库,造成数据库连接异常。
- 写多读少的情况下使用读多写少用缓存(Redis),写多读少用队列(Rabbitmq,Activemq)。