1. 消息中间件概念
消息中间件是消息传递的过程中保存消息的容器。
主要目的:提供路由并保证消息的传递;如果发送消息时接受者不可用,消息队列会保留信息,直到可以成功传递为止。
消息中间件保存消息也是有期限的。
2. 消息中间件特点
1. 采用异步处理方式
消息发送者发送一个消息无须等待响应。
消息接收者订阅或者监听通道,可以有一个或多个接收者。
2. 应用程序和应用程序之间松耦合关系
3. 消息服务传递模型及各自特点
1. 点对点模型
用于消息生产者和消息消费者点对点的通信。
特性:
1. 每个消息只有一个消费者
2. 发送者和消费者没有时间依赖
3. 接受者确认消息接受和处理成功
2. 发布--订阅模型
发布者/订阅者模型支持向一个特定的消息主题生产消息。
特性:
1. 每个消息可以有多个订阅者
2. 客户端只有订阅后才能接收到消息
3. 持久订阅和非持久订阅
4. 接受者和发布者只有建立订阅关系才能收到消息
5. 持久订阅
订阅关系建立后,消息就不会消失,不管订阅者是否都在线
6. 非持久订阅
订阅者为了接受消息,必须一直在线
如果只有一个订阅者,相当于点对点模式。
4. 消息中间件的多个企业级应用场景案例
1. 网站用户注册
2. 日志分析,日志集中收集,用于计算pv,用户行为分析
3. 数据复制案例(跨机房数据传输,将数据从源头复制到多个目的地)