消息队列架构是如何演变的?

共 3050字,需浏览 7分钟

 ·

2024-05-11 19:50


IBM MQ -> RabbitMQ -> Kafka ->Pulsar, 消息队列架构是如何演变的?

下图显示了架构比较。

01 IBM MQ

IBM MQ 于 1993 年推出。它最初称为 MQSeries,2002 年更名为 WebSphere MQ。2014 年更名为 IBM MQ。IBM MQ 是一款非常成功的产品,广泛应用于金融领域。其收入在 2020 年仍达到 10 亿美元。

队列管理器是消息队列的逻辑容器。它通过消息通道向其他队列管理器传输数据。队列存储消息。消息是待传输数据的抽象概念。消息头包含路由、存储和交付信息。

02 RabbitMQ

2003 年,金融行业的多家机构希望开发一种标准化的消息传递协议,于是 AMQP(高级消息队列协议)在摩根大通诞生了。与在 API 层面标准化的 JMS(Java 消息传递服务)不同,AMQP 是一种线层面的协议,这意味着它指定了要传输的数据格式。作为 AMQP 的实现之一,RabbitMQ 由 Rabbit Technologies 于 2007 年开发,后被 VMWare 收购。

RabbitMQ 架构不同于 IBM MQ,更类似于 Kafka 概念。生产者向指定交换类型的交换发布消息。它可以是直接、主题或扇出。然后,交换中心根据不同的消息属性和交换类型将消息路由到队列中。消费者据此接收信息。

03 Kafka

2011 年初,LinkedIn 开源了 Kafka,这是一个分布式事件流平台。它以弗朗茨-卡夫卡(Franz Kafka)的名字命名。顾名思义,Kafka 是为写而优化的。它为处理实时数据馈送提供了一个高吞吐量、低延迟的平台。它提供了一个统一的事件日志来实现事件流,在互联网公司中得到广泛应用。

Kafka 定义了生产者、经纪人、主题、分区和消费者。它的简单性和容错性使其能够取代以前的产品,如基于 AMQP 的消息队列。

04 Pulsar

Pulsar 最初由雅虎开发,是一个一体化的消息和流平台。与 Kafka 相比,Pulsar 融合了其他产品的许多有用功能。此外,Pulsar 的架构更加原生云化,在集群扩展和分区迁移等方面提供了更好的支持。

Pulsar 架构分为两层:服务层和持久层。Pulsar 本身支持分层存储,我们可以利用 AWS S3 等更便宜的对象存储来长期持久化消息。





以上内容源自公众号“ByteByteGo”,是硅谷百万粉丝技术大v、《搞定系统设计:面试敲开大厂的门》一书作者Alex Xu的官方号。



关于系统设计的面试,可以说是所有技术面试中最难的。

面试者会被要求设计一个软件系统,比如news feed、谷歌搜索、聊天系统等。

这些问题令人望而生畏,没有特定的解题模式,通常范围都非常广且模糊,其答案也是开放的,也可以说不存在标准答案或正确答案。

很多公司都设有系统设计面试,因为这种面试能考验软件工程师日常工作所需的沟通能力和解决问题的能力。

面试官会考查候选人如何分析一个模糊的问题并一步步解决这个问题;同时,他们还会考查候选人阐述自己想法的能力、与其他人讨论的能力、评估及优化系统的能力。

系统设计的问题是开放式的。

在现实世界中,不同的系统之间存在许多差别,而系统自身还要应对各种变化。

面试官期望得到的答案是一个能满足系统设计目标的架构。

在面试过程中,对问题的讨论可能会因面试官的个人风格不同而走向不同的方向。

有些面试官喜欢询问高层架构设计方面的问题,以全面地考查面试者的知识面,也有些面试官会选择一个或者几个领域来深入地考查知识点。

一般来说,应该搞清楚系统的需求、限制和瓶颈,以便面试双方可以有效地进行沟通。

Alex所著《搞定系统设计:面试敲开大厂的门》一书的目标是提供一个可靠的策略,帮助面试者回答系统设计问题。采取正确的策略且具备必要的知识,对面试的成功至关重要。

本书讲述了构建一个可扩展系统所需的基础知识。你从本书中获得的知识越多,在解决系统设计问题时就越从容。

本书还提供了一个逐步解决系统设计问题的框架,用了很多实例来阐释这种系统性的解决方法且附有详细步骤,你可以照着操作。只要勤加练习,在回答系统设计面试问题时,你就会胸有成竹。

本书原著豆瓣评分8.4,得到众多读者的好评,案例经典、信息全面系统、非常适合用来面试!


如果你想顺利通过高难度的系统设计面试,那就看看这本被众多读者验证过的好书吧~~

↑限时五折优惠↑

限时五折优惠,快快抢购吧!


发布:刘恩惠

审核:陈歆懿

    
      
 


如果喜欢本文
欢迎 在看留言分享至朋友圈 三连
<
 PAST · 往期回顾 
>


书单 | 5月新书速递!


浏览 19
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报