今天是立春,农历新的一年开始.今天我们开始学习和总结一下RabbitMQ的使用.
1. 概述
1.1 什么是MQ
MQ的底层实现,既可以是JMS的实现,也可以是AMQP的实现。
java message service :sun公司定义一套消息通信规范
1.2 什么是AMQP
1.3 什么是JMS
1.4 JMS与AMQP的区别
总结来说:
- JMS是定义了统一的接口,来对消息操作进行统一;AMQP是通过规定协议来统一数据交互的格式.
- JMS限定了必须使用Java语言;AMQP只是协议,不规定实现方式,因此是跨语言的
- JMS规定了两种消息模型;而AMQP的消息模型更加丰富
1.5 RabbitMQ
常见的MQ产品:
RoketMQ:阿里,jms
kafka:分布式消息系统。(吞吐量非常大)
SpringCloud官方推荐:RabbitMQ 和 kafka
2. 五种消息模型简介
RabbitMQ提供了6种消息模型,但是第6种其实是RPC,并不是MQ,因此我们这边不予介绍。那么也就剩下5种。
但是其实3、4、5这三种都属于订阅模型,只不过进行路由的方式不同。