消息队列也是搭建大中型网站结构全过程中十分关键的一个分布式数据库。

消息队列

应用过消息队列的同学们都了解,消息队列最常见的2个情景是:

1,解耦,一般用在大的网址开展业务流程分拆的情况下,用以各运用中间开展信息通信。

2,多线程,对于这些不用同歩实行,能够晚一点实行的实际操作都能够应用多线程,例如邮件发送和短消息,事实上应用消息队列来解决多线程还能提高特性,由于消息队列网络服务器的响应速度远超数据库查询网络服务器。

 

最常见的消息队列部件有两个:RabbitMQ和Kafka,下边就来汇总下他们中间有什么不同。

RabbitMQ vs Kafka

基本资料

先看下面这一报表:

能够得到下列结果:Kafka更火爆,rabbitMQ版本升级更快。

 

构架实体模型

RabbitMQ:

 

Kafka:

从图中能够见到:RabbitMQ和Kafka都是有信息经营者和顾客,可是二者在broker的解决是不一样的,RabbitMQ有exchange网络交换机的定义,而Kafka沒有。 

 

特性比照

沒有对比性,由于二者应用场景不一样。
检测标准:一般pc,双核cpu
Kafka:100k msg/s
RabbitMQ:40k msg/s
 

应用场景

即然说到应用场景,看来下二者在应用场景层面有哪些不一样:

RabbitMQ:内嵌适用分布式系统(erLang语言特点),适用事务管理和信息确定可信性高些,一般用在运用间通信层面。

Kafka:流式的数据信息,互联网大数据的解决,不兼容事务管理和信息确定,一般用在系统日志的搜集层面,由于容许有时候的信息遗失。