前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >消息队列MQ选型 - Kafka、RabbitMQ对比

消息队列MQ选型 - Kafka、RabbitMQ对比

作者头像
高广超
发布于 2018-12-12 03:06:23
发布于 2018-12-12 03:06:23
2.2K0
举报
文章被收录于专栏:互联网技术栈互联网技术栈

image.png

适应场景

异步处理,应用解耦,流量削锋和消息通讯

对比

feature

scenario

Kafka

RabbitMQ

备注

PUB-SUB 发布订阅模型

推拉消费

Consumer消费消息的动作方式。

pull

push/pull

push更关注实时性。pull更关注消费者消费能力。

延迟消费

Producer产生一条消息后,并不希望立刻被消费掉。

X

高阶需求。

consumer group

同一条Message能同时被多个消费组消费,但同一group中,一条Message只会被一个consumer消费

KAFKA: 不需要在管理平台配置。 RabbitMQ:增加需要配置,涉及到内部数据冗余。

消息tag(filter)

以过滤出tag为keyword的message

X

X

消息回溯

从历史中的某个位置重新拉取消息

X

X

只对拉模式,推模式不考虑回溯,支持时间维度offset

事务性

mq内部逻辑,消息状态是否一致

X

和消息中间件内部实现相关。

优先级

消息优先级,consumer优先消费高优先级消息。

X

染色

追踪消息在mq中的具体耗时

X

X

本地读优化

Producer\Consumer 不在同一机房。MQ搭建在P端,C端会存在跨机房访问的问题。

X

X

使用数据同步工具,将P所在机房数据同步到C所在机房的集群。

doubt message(消息追踪)

跨公司,异构系统间,消息状态追踪。

X

X

消息积压

没有被消费的消息在MQ中堆积

支持程度的区别,不同mq会存在不同。

负载均衡

1:防止单点 2:C端压力LB在MQ各节点上。

RMQ:多集群做负载

支持的消息大小

每条消息的大小

无限制

无限制

需要对消息大小做限制,降低系统不确定性。

定期回收消息

mq中的消息一旦被消费后,可以被删除,空间回收。

消费语义

方式分别为:1、最多消费一次 2、最少消费一次3、仅消费一次

2

2

业务方消费端做幂等

对全局序支持

消息在全局保持时序一致

X

X

设计复杂度原因,不考虑支持

备注: “√” 表示目前系统已主持 “X” 表示系统不考虑支持该特性

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.04.11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
10分钟搞懂!消息队列选型全方位对比
导语 | 消息队列是分布式系统中重要的中间件,在高性能、高可用、低耦合等系统架构中扮演着重要作用。本文对Kafka、Pulsar、RocketMQ、RabbitMQ、NSQ这几个消息队列组件进行了一些调研,并整理了相关资料,为业务对MQ中间件选型提供参考。 一、概述 消息队列是分布式系统中重要的中间件,在高性能、高可用、低耦合等系统架构中扮演着重要作用。分布式系统可以借助消息队列的能力,轻松实现以下功能: 解耦,将一个流程的上游和下游拆开,上游专注生产消息,下游专注处理消息。 广播,一个上游生产的消息轻松被
腾讯云开发者
2022/02/17
14.5K0
一篇文搞定消息队列选型
消息队列是重要的分布式系统组件,在高性能、高可用、低耦合等系统架构中扮演着重要作用。可用于异步通信、削峰填谷、解耦系统、数据缓存等多种业务场景。本文是关于消息队列(MQ)选型和常见问题的精心整理。在这篇文章中,我们将详细介绍消息队列的概念、作用以及如何选择适合自己需求的消息队列系统。 本文中介绍到的 Kafka 、 RabbitMQ 、 RocketMQ 等,均有对应的腾讯云产品,除了兼容社区开源版以外,还具备更高的性能、可用性和产品特性,欢迎大家了解试用。
腾讯云开发者
2024/09/06
2.4K0
一篇文搞定消息队列选型
IM系统的MQ消息中间件选型:Kafka还是RabbitMQ?
在IM这种讲究高并发、高消息吞吐的互联网场景下,MQ消息中间件是个很重要的基础设施,它在IM系统的服务端架构中担当消息中转、消息削峰、消息交换异步化等等角色,当然MQ消息中间件的作用远不止于此,它的价值不仅仅存在于技术上,更重要的是改变了以往同步处理消息的思路(比如进行IM消息历史存储时,传统的信息系统作法可能是收到一条消息就马上同步存入数据库,这种作法在小并发量的情况下可以很好的工作,但互联网大并发环境下就是灾难)。
用户1212940
2022/04/13
1.2K1
IM系统的MQ消息中间件选型:Kafka还是RabbitMQ?
RabbitMQ与Kafka选型对比
  本公司是.Net项目,在.Net可选的MQ比较少,主要Kafka和RabbitMQ,RabbitMQ我也是使用多年了,最近的Kafka广告与流行度我也是无法无视,因此也是花了点时间收集了资料做了些对比。
陈珙
2020/09/27
6.6K0
IM系统的MQ消息中间件选型:Kafka还是RabbitMQ?
在IM这种讲究高并发、高消息吞吐的互联网场景下,MQ消息中间件是个很重要的基础设施,它在IM系统的服务端架构中担当消息中转、消息削峰、消息交换异步化等等角色,当然MQ消息中间件的作用远不止于此,它的价值不仅仅存在于技术上,更重要的是改变了以往同步处理消息的思路(比如进行IM消息历史存储时,传统的信息系统作法可能是收到一条消息就马上同步存入数据库,这种作法在小并发量的情况下可以很好的工作,但互联网大并发环境下就是灾难)。
JackJiang
2018/08/29
2.2K0
消息队列如何选择?Kafka、Pulsar、RabbitMQ还是...
消息队列是当代分布式系统架构中非常重要的一部分,在应用解耦、流量削峰、异步通信等方面有非常多的应用场景。目前最为我们所熟知的消息队列有:ActiveMQ、Kafka、RabbitMQ、Pulsar和RocketMQ,他们都有哪些优势和劣势, 我们应该如何选择呢?相信这是摆在很多开发者面前的问题。
MCNU云原生
2023/03/17
3.7K0
消息队列如何选择?Kafka、Pulsar、RabbitMQ还是...
消息队列基本原理和选型对比
作者:anncdchen,腾讯 PCG 后台开发工程师 消息队列使用场景 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,削峰填谷等问题。实现高性能、高可用、可伸缩和最终一致性架构。 解耦:多个服务监听、处理同一条消息,避免多次 rpc 调用。 异步消息:消息发布者不用等待消息处理的的结果。 削峰填谷:较大流量、写入场景,为下游 I/O 服务抗流量。当然大流量下就需要使用其他方案了。 消息驱动框架:在事件总线中,服务通过监听事件消息驱动服务完成相应动作。 消息队列模式 点对点模
腾讯技术工程官方号
2022/08/26
1.2K0
消息队列基本原理和选型对比
【消息队列 MQ 专栏】消息队列之 RocketMQ
RocketMQ 是阿里巴巴在2012年开源的分布式消息中间件,目前已经捐赠给 Apache 软件基金会,并于2017年9月25日成为 Apache 的顶级项目。作为经历过多次阿里巴巴双十一这种“超级工程”的洗礼并有稳定出色表现的国产中间件,以其高性能、低延时和高可靠等特性近年来已经也被越来越多的国内企业使用。其主要特点有:
芋道源码
2018/07/31
6.4K0
【消息队列 MQ 专栏】消息队列之 RocketMQ
RabbitMQ消息队列常见面试题总结
(1)解耦:将系统按照不同的业务功能拆分出来,消息生产者只管把消息发布到 MQ 中而不用管谁来取,消息消费者只管从 MQ 中取消息而不管是谁发布的。消息生产者和消费者都不知道对方的存在;
全栈程序员站长
2022/06/29
7560
RabbitMQ消息队列常见面试题总结
消息队列MQ面试专题(rabbitmq)
公众号改版后文章乱序推荐,希望你可以点击上方“Java进阶架构师”,点击右上角,将我们设为★“星标”!这样才不会错过每日进阶架构文章呀。
java进阶架构师
2020/09/22
1.1K0
消息队列MQ面试专题(rabbitmq)
扫盲消息队列 | 消息中间件 | Kafka
分布式微服务系统下,凡是可以“排队”去做的事情,都可以使用消息队列。网上买东西同样也需要“排队付款”,但是有人说,我点确认付款后马上就显示成功了,没感觉到排队呀?其实在后台系统中是排了,只不过排队的时间对于人来说有点短,可能1-2秒就结束了,但是对于计算机来说,这1-2秒的时间很长了。
王炸
2020/04/26
2K0
IM系统的MQ消息中间件选型:Kafka还是RabbitMQ?
1、前言 在IM这种讲究高并发、高消息吞吐的互联网场景下,MQ消息中间件是个很重要的基础设施,它在IM系统的服务端架构中担当消息中转、消息削峰、消息交换异步化等等角色,当然MQ消息中间件的作用远不止
用户1263954
2018/06/22
1.8K0
消息队列MQ/JMS/Kafka,你都了解吗?
是不是平常听到说消息队列啊,JMS啊,MQ啊 、kafka啊巴啦啦的一堆术语,听不懂?关系混乱?今天就让我们来一起来看看他们都是什么吧。
芋道源码
2021/07/13
2.1K0
消息中间件选型分析——从Kafka与RabbitMQ的对比来看全局
消息队列中间件(简称消息中间件)是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下提供应用解耦、弹性伸缩、冗余存储、流量削峰、异步通信、数据同步等等功能,其作为分布式系统架构中的一个重要组件,有着举足轻重的地位。
吴生
2018/04/16
2.1K0
消息中间件选型分析——从Kafka与RabbitMQ的对比来看全局
RabbitMQ、Kafka对比(超详细),Kafka、RabbitMQ、RocketMQ的区别
RabbitMQ和Kafka是两种流行的消息传递系统,它们在多个方面存在显著的差异。
寻求出路的程序媛
2024/08/07
5.5K0
RabbitMQ、Kafka对比(超详细),Kafka、RabbitMQ、RocketMQ的区别
【消息队列 MQ 专栏】RabbitMQ
关于消息队列,从前年开始断断续续看了些资料,想写很久了,但一直没腾出空,近来分别碰到几个朋友聊这块的技术选型,是时候把这块的知识整理记录一下了。
芋道源码
2018/07/31
1.7K0
【消息队列 MQ 专栏】RabbitMQ
梳理消息队列 MQ/JMS/Kafka
是不是平常听到说消息队列啊,JMS啊,MQ啊 、kafka等一堆术语,听不懂?关系混乱?今天就让我们来一起来看看他们都是什么吧。
玄姐谈AGI
2021/09/17
5630
一篇文章把RabbitMQ、RocketMQ、Kafka三元归一
点击上方“芋道源码”,选择“设为星标” 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java 2021 超神之路,很肝~ 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 RocketMQ 源码解析 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析 作业调度中间件 Elastic-Job 源码解析 分布式事务中间件 TCC-Transaction
芋道源码
2022/07/12
7790
一篇文章把RabbitMQ、RocketMQ、Kafka三元归一
常用消息队列 Kafka、RabbitMQ、RocketMQ、ActiveMQ 综合对比(18个方面)
本文将从,Kafka、RabbitMQ、ZeroMQ、RocketMQ、ActiveMQ 18 个方面综合对比作为消息队列使用时的差异。
猫头虎
2024/04/07
7380
消息队列(RabbitMQ)(入门)
举个例子,如果订单系统最多能处理一万次订单,这个处理能力应付正常时段的下单时绰绰有余,正常时段我们下单一秒后就能返回结果。但是在高峰期,如果有两万次下单操作系统是处理不了的,只能限制订单超过一万后不允许用户下单。使用消息队列做缓冲,我们可以取消这个限制,把一秒内下的订单分散成一段时间来处理,这时有些用户可能在下单十几秒后才能收到下单成功的操作,但是比不能下单的体验要好。
cheese
2023/10/25
2.5K0
消息队列(RabbitMQ)(入门)
推荐阅读
相关推荐
10分钟搞懂!消息队列选型全方位对比
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档