消息中间件简介

MQ,Message Queue 消息队列。


 

ActiveMQ

Apache开源的消息中间件,老牌消息中间件。

性能一般,一般场景够用了,但高并发时往往应付不了,在中小企业中使用广泛。

有2种集群模式:

一种是主从模式,另一种是分布式的主从模式。

slave  从属、奴隶

扫描二维码关注公众号,回复: 9238326 查看本文章

Kafka

最初由Linkedin公司开源,后来由Apache维护。

追求高吞吐量、高性能(数据直接存储在内存中,很吃内存),

不支持事务,对消息重复、丢失、错误没有严格的处理方式(可靠性不高),

适合产生大量数据、收集大量数据的服务,大数据开发用得多。

集群模式:

replicate  复制


RocketMQ

最初由阿里开源,后来由Apache维护,纯java编写。

吸取了Kafka的思路,并修正了Kafka的不足(不支持事务、可靠性不高)。

高吞吐量、高可用、可靠性高、支持事务,适合大规模分布式系统。

但技术要求高(维护成本高),且要收费。

集群模式:


RabbitMQ

使用Erlang语言编写,基于AMQP协议。

追求安全、可靠性、稳定性、数据一致性,常在企业系统中使用。

性能、吞吐量略差(性能、吞吐量比Kafka、RocketMQ差,但比ActiveMQ高很多)。

AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。

基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。


最常用的是KafKa、RabbitMQ。

猜你喜欢

转载自www.cnblogs.com/chy18883701161/p/12325632.html