消息中间件
来源:互联网 发布:java九九乘法表下三角 编辑:程序博客网 时间:2024/05/15 15:05
一、概念
消息中间件,简称MOM。它为应用系统提供高效、灵活的消息同步和异步传输处理、存储转发、可靠传输。在大规模分布式环境下确保消息安全、可靠、高效送达。
也可以理解为它是消息传输过程中保存消息的容器
二、目的
主要目的是提供路由并保证消息的传递,如果发送消息时接收者不可用,消息队列会自动保存消息,直到成功传递它为止。当然,保存也是有期限的,也就是租约。
三、特点
1、异步模式
消息发送者可以发送一个消息而无须等待响应。一个消息可能最终转发给一个或多个消息接收者。例如:注册用户收到短信和邮件。
2、应用程序和应用程序调用关系为松耦合关系(发送者和接收者不必了解对方,只需要确认消息;发送者和接收者不必同时在线)
这里有个概念:最终一致、强一致、弱一致
最终一致:最终状态一致,可能中间有时间差
强一致,弱一致:有读写一致性、读读一致性
举例:
四、消息中间件的工作原理
五、消息队列的模型
1、点对点模型(PTP),也就是一对一
特点:①每个消息只有一个消费者②消息发送者和接收者没有时间依赖③接收者确认消息接受和处理成功
2、发布/订阅模型(pub/sub),也就是一对多
①每个下次可以有多个接收者②客户端只有订阅后才能接收到消息③分为持久订阅和非持久订阅④有时间依赖
在网络状态中,从消费者到消息中间件关系有三张情况:成功、失败、未知
持久订阅:会在消息中间件里面保存着依赖关系
非持久订阅:会有长连接的关系
六、应用场景
1、用户注册
2、日志分析
3、数据复制
将数据从与源头复制到多个目的地,要保证①数据完整性②数据顺序性
用于跨机房数据传输、搜索、离线数据计算等。
4、延迟消息发送和暂存
把消息中间件当做可靠的消息暂存地
定期进行消息投递,比如模拟用户秒杀访问(小流量测试)、进行系统性能压测
5、消息广播
缓存数据同步更新、往应用推送数据
七、总体架构
- 中间件-消息中间件
- 消息中间件
- 消息中间件
- 消息中间件
- 消息中间件
- 消息中间件
- 消息中间件
- 消息中间件
- 消息中间件
- 消息中间件
- 消息中间件
- 分布式消息队列(消息中间件)
- 消息中间件概述
- 消息中间件和JMS
- 消息中间件和JMS
- Apusic消息中间件
- 消息中间件和JMS
- 消息中间件和JMS
- Redis学习1之快速入门
- strStr
- AD分辨率和精度区别
- Android Butterknife 8.4.0
- webservice--四种客户端调用方式
- 消息中间件
- java并发编程:线程池的使用
- iOS开发判断是否开启摄像头权限
- Velocity教程
- linux下 管道| 和xargs的区别
- Java中如何实现每天定时对数据库的操作
- Java中的抽象类和接口
- java的一些相关知识点(1)
- 我是如何开始我的 Linux 之旅的