消息中间件概念:
关注于数据的发生和接收,利用高效可靠的异步消息传递机制集成分布式系统
JMS:
java消息服务(java Message Service),是一个Java平台中关于面向消息中间件的API,用于在两个程序之间,或分布式系统中发送消息,进行异步通信
AMQP (advanced message queuing protocol):
是一个提供统一消息服务的应用层标准协议,基于此协议的客户端消息中间件可传递消息,
并不受客户端\中间件不同产品,不同开发语言等条件的限制
ActiveMQ:(最流行的,能力强劲的开源消息总线)
特性:
1.多种语言和协议编写客户端 2.完全支持JMS1.1和J2EE1.4规范(持久化,XA消息,事务) 3.虚拟主题、组合目的、镜像队列
RabbitMQ:
(开源的AMQP实现,erlang语言编写,用于分布式系统中存储转发消息,有易用性、扩展性、高可用性)
特性:
1.支持多种客户端 2.AMQP完整实现 3.事务支持\发布确认 4.消息持久化
kafka: (高吞吐量的分布式发布订阅消息系统,分布式、分区、可靠的分布式日志存储服务 )
特性:
1.通过O(1)的磁盘数据结构提供消息的持久化, 对于即使数以TB的消息存储也能保持长时间的稳定性 2.高吞吐量:即使非常普通的硬件Kafka也可以支持每秒数百万的消息 3.Partition、Consumer Group
消息中间件概述
JMS和AMQP对比
什么是中间件:非底层操作系统;非业务应用软件;不是直接给最终用户使用;不能直接给客户带来价值的软件称为中间件;
AMQP协议
JMS协议
消息中间件
~3种消息中间件,综合对比及评价~
三种消息中间件对比
Kafka特性
Kafka
RabbitMQ特性
RabbitMQ概念
ActiveMQ特性
ActiveMQ