应用场景
1、异步处理

2、应用解耦

3、流量监控(流量削峰)

概述
1、应用可以引入消息中间件提升系统异步通讯、扩展解耦能力
2、两个重要概念
(1)、消息代理:代替发送/接收消息的存在。(安装了消息中间件的服务器)
(2)、目的地
当消息生产者发送消息之后,将由消息代理接管,消息代理保证消息传递到指定目的地。
3、消息队列主要有两种形式的目的地
(1)、队列:点对点消息通讯(point-to-point,点对点式)
(2)、主题:发布(publish)/订阅(subscribe)消息队列(发布订阅式)
4、点对点式:(最终消息只会交给一个接受者,谁先抢到给谁)
------消息生产者发送笑嘻嘻,消息代理将其放入一个队列中,消息接收者从队列中获取消息内容,读取消息后移出队列。
------消息只有唯一的发送者和接受者(只能有一个服务接受消息),但并不是说只能有一个接收者(可以有很多服务去抢这个消息)。
5、发布订阅式:
--------发布发送消息到主题,多个接收者(订阅者)订阅这个主题,会在消息到达时同收到消息。
6、队列协议
1、JMS(Java Message Service)Java消息服务:
----- 基于JVM消息代理的规范。ActiveMQ、HornetMQ是JMS实现。
2、AMOP(Advanced Message Queuing Protocol)
------ 高级消息队列协议,也是一个消息代理的规范,兼容JMS
------ RabbitMQ是AMQP的实现

