介绍
今天介绍的是中间件技术消息中间件,将对市面比较流行的四款消息中间件进行一个全网知识点汇总,所涉及的图片版权如有侵权请联系我会对内容进行调整
什么是消息中间件
消息中间件顾名思义,消息传递的中间技术,用作端对端,点对点,进行通信的技术,目前消息中间件有同步方式和异步方式,异步的方式相对同步方式更加具有容错性,目前主流的消息中间件技术有activeMQ,rabbitMQ,rocketMQ,kafka目前这四种贴出性能对照表
名称 | ActiveMQ | RabbitMQ | RocketMQ | Kafka |
---|---|---|---|---|
开发语言 | java | erlang | java | scala |
单机吞吐量 | 万级 | 万级 | 十万级 | 十万级 |
时效性 | ms级别 | us级别 | ms级别 | ms级别 |
可用性 | 高(主从架构) | 高(主从架构) | 非常高(分布式架构) | 非常高(分布式架构) |
功能特性 | 成熟的产品<br>协议支持比较好<br>有较多文档 | 并发能力强<br>性能极好<br>延迟很低<br>管理界面丰富 | MQ功能完备扩展性好 | 支持主要MQ功能没有消息回溯,<br>主要为日志记录系统和大数据平台准备 |
在这里大家可以更具实际需求做出相应的选择
应用场景介绍(不做具体业务举例)
- 异步处理
- 应用解耦
- 流量削峰
- 日志处理
- 点对点通信
聊天室通信
JMS
讲消息队列就不得不提JMS 。JMS(JAVA Message Service,java消息服务)API是一个消息服务的标准/规范,允许应用程序组件基于JavaEE平台创建、发送、接收和读取消息。它使分布式通信耦合度更低,消息服务更加可靠以及异步性。
在EJB架构中,有消息bean可以无缝的与JM消息服务集成。在J2EE架构模式中,有消息服务者模式,用于实现消息与应用直接的解耦。- 消息模型
- P2P模式
- Pub/Sub模式
- 消息消费
后续
接下来我会更新对应的消息中间件学习笔记欢迎大家关注订阅