开发者论坛 | 海睿思 轻量化数据中台生态引领者

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 21454|回复: 8

Kafka,Mq,Redis三者作为消息队列使用时有什么异同?

[复制链接]

1

主题

1

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2020-10-21 09:38:29 | 显示全部楼层 |阅读模式
Kafka是作为新一代的消息系统,mq是比较成熟消息系统,而redis也可以发布订阅了,那么这三者有何异同?

自己查了查资料,了解了一下,其实,作为消息队列来说,企业中选择mq的还是多数,因为像Rabbit,Rocket等mq中间件都属于很成熟的产品,性能一般但可靠性较强,而kafka原本设计的初衷是日志统计分析,现在基于大数据的背景下也可以做运营数据的分析统计,而redis的主要场景是内存数据库,作为消息队列来说可靠性太差,而且速度太依赖网络IO,在服务器本机上的速度较快,且容易出现数据堆积的问题,在比较轻量的场合下能够适用。希望有更专业的人来总结总结。
回复

使用道具 举报

1

主题

3

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2020-10-21 16:28:35 | 显示全部楼层
业界对于消息的传递有多种方案和产品,本文就比较有代表性的两个MQ(rabbitMQ,kafka)进行阐述和做简单的对比,在应用场景方面:
RabbitMQ,遵循AMQP协议,由内在高并发的erlanng语言开发,用在实时的对可靠性要求比较高的消息传递上。
kafka是Linkedin于2010年12月份开源的消息发布订阅系统,它主要用于处理活跃的流式数据,大数据量的数据处理上。
1)在架构模型方面,RabbitMQ遵循AMQP协议,RabbitMQ的broker由Exchange,Binding,queue组成,其中exchange和binding组成了消息的路由键;客户端Producer通过连接channel和server进行通信,Consumer从queue获取消息进行消费(长连接,queue有消息会推送到consumer端,consumer循环从输入流读取数据)。rabbitMQ以broker为中心;有消息的确认机制。
kafka遵从一般的MQ结构,producer,broker,consumer,以consumer为中心,消息的消费信息保存的客户端consumer上,consumer根据消费的点,从broker上批量pull数据;无消息确认机制。
2)在吞吐量,kafka具有高的吞吐量,内部采用消息的批量处理,zero-copy机制,数据的存储和获取是本地磁盘顺序批量操作,具有O(1)的复杂度,消息处理的效率很高。rabbitMQ在吞吐量方面稍逊于kafka,他们的出发点不一样,rabbitMQ支持对消息的可靠的传递,支持事务,不支持批量的操作;基于存储的可靠性的要求存储可以采用内存或者硬盘。
3)在可用性方面,rabbitMQ支持miror的queue,主queue失效,miror queue接管。
kafka的broker支持主备模式。
4)在集群负载均衡方面,kafka采用zookeeper对集群中的broker、consumer进行管理,可以注册topic到zookeeper上;通过zookeeper的协调机制,producer保存对应topic的broker信息,可以随机或者轮询发送到broker上;并且producer可以基于语义指定分片,消息发送到broker的某分片上。rabbitMQ的负载均衡需要单独的loadbalancer进行支持。原文:RabbitMQ和kafka从几个角度简单的对比
回复

使用道具 举报

0

主题

6

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2020-10-22 11:06:41 | 显示全部楼层
感谢楼主分享
回复

使用道具 举报

1

主题

9

帖子

23

积分

新手上路

Rank: 1

积分
23
发表于 2020-10-23 09:33:04 | 显示全部楼层
很好的分享~
回复

使用道具 举报

1

主题

10

帖子

25

积分

新手上路

Rank: 1

积分
25
发表于 2020-10-24 10:44:06 | 显示全部楼层
赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞
回复

使用道具 举报

1

主题

10

帖子

23

积分

新手上路

Rank: 1

积分
23
发表于 2020-10-27 16:39:38 | 显示全部楼层
回复

使用道具 举报

0

主题

11

帖子

24

积分

新手上路

Rank: 1

积分
24
发表于 2020-10-28 10:26:28 | 显示全部楼层
回复

使用道具 举报

0

主题

9

帖子

20

积分

新手上路

Rank: 1

积分
20
发表于 2020-10-29 13:53:50 | 显示全部楼层
感谢分享,很不凑的文章
回复

使用道具 举报

0

主题

21

帖子

48

积分

新手上路

Rank: 1

积分
48
发表于 2020-10-30 14:21:56 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|开发者论坛 | 海睿思 轻量化数据中台生态引领者 ( 苏ICP备13008384号-7 )

GMT+8, 2022-7-1 21:01 , Processed in 0.050595 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表