写点什么

Kafka 在消息队列领域为何如此流行?

作者:老周聊架构
  • 2021 年 12 月 14 日
  • 本文字数:1312 字

    阅读完需:约 4 分钟

Kafka 在消息队列领域为何如此流行?

Kafka 在消息队列领域为何如此流行?这是多方面协同的结果,包括宏观架构、分布式 partition 存储、ISR 数据同步、以及“无所不用其极”的高效利用磁盘、操作系统特性。每个技术细节都优化到极致,让 Kafka 在众多消息队列中一直保持着强有力的竞争力。下面我们就来进行 Kafka 之旅吧,我相信这次旅途你会有不少的收获。


聊聊 Kafka: Kafka 的基础架构

作者:老周聊架构

用一个案例来引入生产者、消费者、消息积压以及 ACK 机制等核心概念,循循渐进讲解整个 Kafka 的架构,让大家对 Kafka 有个全局的认识,并且有案例与核心概念相对齐,通俗易懂使你对 Kafka 感兴趣。


聊聊 Kafka: Kafka 为啥这么快?

作者:老周聊架构

我们都知道 Kafka 是基于磁盘进行存储的,但 Kafka 官方又称其具有高性能、高吞吐、低延时的特点,其吞吐量动辄几十上百万。小伙伴们是不是有点困惑了,一般认为在磁盘上读写数据是会降低性能的,因为寻址会比较消耗时间。那 Kafka 又是怎么做到其吞吐量动辄几十上百万的呢?本文我来带大家一探究竟。


聊聊 Kafka:编译 Kafka 源码并搭建源码环境

作者:老周聊架构

想学好 Kafka 的架构与设计,那必须得从源码入手。市面上很少有这么完整并且正确的 编译 Kafka 源码并搭建源码环境得文章。本文手把手带你搭建好 Kafka 与 Zookeeper 环境,并讲解 Kafka 源码的各个目录结构,最后对生产者与消费组进行验证。


聊聊 Kafka:Producer 源码解析

作者:老周聊架构

Kafka 为用户提供了非常简洁方便的 API,在使用生产者的时候,只需要进行两步:初始化 KafkaProducer 实例、调用 send 接口发送数据,本文从浅到深讲解整个 Producer 的发送过程。


聊聊 Kafka: Producer 的网络模型

作者:老周聊架构

Producer 如何与 Broker 进行交互的?这里不得不提 Producer 的网络模型。KafkaProducer 相当于客户端,与 Sender 调用层交互,Sender 调用 NetworkClient,NetworkClient 调用 Selector,而 Selector 底层封装了 Java NIO 的相关接口。


聊聊 Kafka: Consumer 源码解析之 ConsumerNetworkClient

作者:老周聊架构

Consumer 的源码解析主要来看 KafkaConsumer,KafkaConsumer 是 Consumer 接口的实现类。KafkaConsumer 提供了一套封装良好的 API,开发人员可以基于这套 API 轻松实现从 Kafka 服务端拉取消息的功能,这样开发人员根本不用关心与 Kafka 服务端之间网络连接的管理、心跳检测、请求超时重试等底层操作,也不必关心订阅 Topic 的分区数量、分区副本的网络拓扑以及 Consumer Group 的 Rebalance 等 Kafka 具体细节,KafkaConsumer 中还提供了自动提交 offset 的功能,使的开发人员更加关注业务逻辑,提高了开发效率。


聊聊 Kafka: Consumer 源码解析之 Consumer 如何加入 Consumer Group

作者:老周聊架构

与消费组相关的两个组件,一个是消费者客户端的 ConsumerCoordinator,一个是 Kafka Broker 服务端的 GroupCoordinator。ConsumerCoordinator 负责与 GroupCoordinator 通信,Broker 启动的时候,都会启动一个 GroupCoordinator 实例,而一个集群中,会有多个 Broker,那么如何确定一个新的 Consumer 加入 Consumer Group 后,到底和哪个 Broker 上的 GroupCoordinator 进行交互呢?本文将层层揭开它神秘的面纱。


发布于: 2 小时前阅读数: 7
用户头像

还未添加个人签名 2019.03.07 加入

微信公众号:老周聊架构

评论

发布
暂无评论
Kafka 在消息队列领域为何如此流行?