01|业界的主流消息队列是如何发展起来的?
你真的需要标准消息队列吗?
- 深入了解
- 翻译
- 解释
- 总结
消息队列的选择标准和实际应用一直备受关注。本文以作者文强的亲身经历为切入点,深入探讨了消息队列的发展历程及其在业界的应用。作者首先提出了一个引人深思的问题:是否真的需要标准消息队列?通过自身经历和案例分析,指出在简单场景下,非标准消息队列产品如Redis和MySQL也能满足需求。然而,当数据量大、场景复杂时,标准消息队列产品的高吞吐、持久化等特性就显得尤为重要。文章还介绍了消息队列的基本功能和高阶能力,并列举了业界常见的标准消息队列产品,如Kafka、RocketMQ、RabbitMQ等。通过作者的观点和案例,读者可以更好地理解消息队列的选择标准和适用场景,为实际业务应用提供了有益的参考。 此外,文章还从消息队列的发展脉络出发,抽象出了两条交织的发展路径:上层的需求变化和下层的架构演进。消息队列的发展趋势是消息 -> 流 -> 消息和流融合,以及单机 -> 分布式 -> 云原生/Serverless。随着业务场景的复杂化和数据量的增大,消息队列的架构也在不断演进,逐渐朝向云原生/Serverless方向发展。同时,文章还介绍了当前开源社区较多使用的消息队列产品,如RabbitMQ、Kafka、RocketMQ和Pulsar等,以及国内大厂自研的消息队列产品。 总的来说,本文通过作者的亲身经历和案例分析,深入探讨了消息队列的选择标准和实际应用,同时从消息队列的发展脉络出发,抽象出了消息队列的发展趋势,为读者提供了全面的消息队列发展概览和技术应用参考。文章内容丰富,涵盖了消息队列的技术特点和发展趋势,对读者了解消息队列的选择和应用具有重要参考价值。
《深入拆解消息队列 47 讲》,新⼈⾸单¥59
全部留言(15)
- 最新
- 精选
- Geek_206e82我是做游戏的,目前我在使用pulsar,功能有瞬时消息,也有顺序消息,能同时满足这2个就pulsar了
作者回复: 瞬时消息的特性确实很多主流消息队列都不支持,是一个很特殊的场景。 之前接触过公司内部的一个大型游戏团队,也是因为瞬时消息选择使用pulsar。
2023-06-26归属地:广东211 - 顾庆隆文强老师,能不能讲一下Nats,Golang编写的消息队列,CNCF孵化的项目,设计上非常有特点,功能和性能都挺出色,与课程中四个消息队列想比,在分布式集群通信、消息持久化设计、集群互通和集群级联通信上别具一格,很想听听老师的分析。
作者回复: 你这一说,我也很有兴趣分析一下。这个我记录一下,可能要放到最后了。这个MQ 目前主流比较少用。不过从技术设计上来看,是蛮有参考分析价值的。
2023-06-27归属地:北京37 - 张申傲请问下老师,消息和流的本质区别是什么呢?我理解流也可以看作是大数据领域的业务消息,只不过消息体是日志、指标等等这些数据,为什么要强调消息和流的融合呢?
作者回复: 我理解是商业化层面的考虑,文章中我有写了一下我的观点
2023-06-26归属地:北京56 - 一一老师,你好,有没有可能带我们搭一个数据量相对大,并发量相对大的业务测试环境,再接入各种消息队列进行横向测评,对比使用消息队列和不使用消息队列的区别,这样,对我们这种传统行业,平时很少接触到高并发,大数据量的业务场景的小白来说,会不会更加直观,好理解一些?毕竟有了直观的数据,才能印象深刻。
作者回复: 你能加一下微信群吗,我们在群里聊。这个是一个很有意思的case,我们现网也经常做这个事情。
2023-06-30归属地:浙江93 - Geek.Kwok我司就在用 Kafka 当做一个业务消息总线在用,当然同时也用来传递日志。从运维成本的角度考虑,一家公司一般只会选择使用一个MQ。
作者回复: 在我看来,业务侧的功能需求是第一考虑项。如果功能上一个MQ都能满足的话,选择只运维一个MQ是可以的,反之就得考虑是否运维多款MQ。
2023-06-27归属地:上海3 - OAuth我是做企业供应链的 主要的应用场景是做外围系统与供应链系统的异步数据交换 数据量不大 目前用的rocketmq
作者回复: 业务消息类的消息队列,rocketmq我觉得是第一选择
2023-06-26归属地:广东3 - justxhk集群扩缩容慢、分区迁移需要 Rebalance、无法支持超多分区 kafka有这些问题是不是主要是因为计算和存储没分离
作者回复: 集群扩缩容慢、分区迁移需要 Rebalance:是的,存算分离从理论上可以解决这些问题的。 无法支持超多分区:和存算分离关系不是特别大,主要和元数据存储(基于Zookeeper)、系统架构有关(比如单机分区的文件的存储方式、Controller等)。
2023-07-10归属地:广东1 - 杯莫停我们公司只用到了发布订阅场景,但数据吞吐量比较大,只用到了Kafka
作者回复: 是的,很多用户都是这么用的。其实大部分用户的场景不复杂。
2023-07-09归属地:四川1 - 运维夜谈老师,请教个问题,数据量大选择消息队列,但有一个问题就是消息的消费效率取决于消费者,消费者消费不过来就导致消息积压,这这样也会影响业务,这如何避免? 另外,咱有微信群吗?
作者回复: 我是这么理解的,这种有两种情况: 1. 瓶颈在MQ 2. 瓶颈在消费者 如果是1,就得考虑MQ的调优、扩容、扩分区或者换消息队列等 如果是2,得排查一下消费者的瓶颈在哪里,然后针对性处理 课程详情有一个微信群二维码,你可以加一下,群里刚好在讨论这个。
2023-07-07归属地:广东1 - 清泉感觉没什么人提到NSQ的,难道没什么人玩吗
作者回复: 在我接触客户的过程中,确实有接触到用NSQ的客户,但是不多,感觉在国内看起来用的人不多。
2023-06-28归属地:上海2