-
1.
2.
3.
4.
5.
6.
7.
8.
9.
ZeroMQ
推特的
Distributedlog
ActiveMQ
:
Apache<
/p>
旗下的老牌消息引擎
RabbitM
Q
、
Kafka
:
AMQP
的默认实现。
RocketMQ
:
阿里主推
Artemis
:
Apache
的
Ac
tiveMQ
下的子项目
Apol
lo
:同样为
Apache
的
ActiveMQ
的子项目的号称下一代消息引擎
商业化的消息引擎
IronMQ
以及实现了
JMS(Java
Message Service)
标准的
OpenMQ
。
几种
MQ
特性
开发
语言
单机
吞吐
量
时效
性
可用
性
功能
特性
ActiveMQ
java
RabbitMQ
erlang
RocketMQ
java
Kafka
scala
万级
万级
10
万级
10
万级
ms
级
us
级
ms
级
ms
级以内
高(主从架构)
高(主从架构)
非常高(分布
式架构)
MQ
功能比较
完备
扩展性佳
非常高(分布式
架构)
只支持主要的
MQ
功能
<
/p>
一些消息查询、
消息回溯等功能
没有提供
成熟的产品,在很
多公司得到应用;
有较多的文档;
各种协议支持较好
基于
erlang
开
发,并发能力很
强
性能极其好,延
时低
管理界面较丰富
优缺点
MQ
优点
缺点
选择建议
ActiveMQ
?
?
?
?
?
?
单机吞吐量:万级
?
topic
数量都吞吐量
的影响:
时效性:
ms
级
可用性:高,基于
主从架构实现高可
用性
消息可靠性:有较
低的概率丢失数据
功能支持:
MQ
领
域的功能极其完备
官方社区现在对
ActiveMQ 5.x
维护
越来越少,较少在
大规模吞吐的场景
< br>中使用。
Kafka
?
?
?
?
?
?
?
性能卓越,单机写
?
入
TPS
约在百万条
/
秒,最大的优点,
就是吞吐量高。
时效性:
ms
级
可用性:非常高,
kafka
是分布式的,
一个数据多个副
?
本,少数机器宕
机
,不会丢失数
据,不会导致不可
?
用
消费者
采用
Pull
方
?
式获取消息
,
消息
有序
,
通过控制能
够保证所有消息被
消费且仅被消费一
?
次
;
有优秀的第三方
Kafka Web
管理界
面
Kafka-
Manager
;
在日志领域比较成
熟,被多家公司和
多个开源
项目使
用;
功能支持:功能较
为简单,主要支持
简单的
< br>MQ
功能,
在大数据领域的实
K
afka
单机超过
64
个队列
/
分区,
Load
会发
生明显的
飙高现象,队列越
多,
loa
d
越高,发
送消息响应时间变
长
使用短轮询方式,
实时性取决于轮询
间隔时间;
消费失败不支持重
试;
支持消息顺序,但
是一台代理宕机
后,就会产生消息
乱序;
社区更新较慢;
Kafka
主要特点是基于
Pull
的模式来处理消息消费
,追
求高吞吐量,一开始的目的
就是用于日志收集和传输,
p>
适合产生大量数据的互联网
服务的数据收集业务。
< br>
大型公司建议可以选用,如
果有日志采集功能,肯定是
首选
kafka
了。
< br>
-
-
-
-
-
-
-
-
-
上一篇:门窗类英语汇总
下一篇:RESTful API后台系统架构设计(Java)