Kafka 核心技术与实战
全面提升你的 Kafka 实战能力
胡夕  Apache Kafka Committer,老虎证券技术总监
专栏
已完结·共 47 讲
|
5.3w 人已学
|
收藏
点对点模型(Peer to Peer,P2P)和发布订阅模型。这里面的点对点指的是同一条消息只能被下游的一个消费者消费,其他消费者则不能染指。在 Kafka 中实现这种 P2P 模型的方法就是引入了消费者组(Consumer Group)。所谓的消费者组,指的是多个消费者实例共同组成一个组来消费一组主题。这组主题中的每个分区都只会被组内的一个消费者实例消费,其他消费者实例不能消费它。为什么要引入消费者组呢?主要是为了提升消费者端的吞吐量。多个消费者实例同时消费,加速整个消费端的吞吐量(TPS)。
来自:02 | 一篇文章带你快速搞定Kafka术语
27 人划过
在默认情况下,Consumer 每 5 秒自动提交一次位移。现在,我们假设提交位移之后的 3 秒发生了 Rebalance 操作。在 Rebalance 之后,所有 Consumer 从上一次提交的位移处继续消费,但该位移已经是 3 秒前的位移数据了,故在 Rebalance 发生前 3 秒消费的所有数据都要重新再消费一次。虽然你能够通过减少 auto.commit.interval.ms 的值来提高提交频率,但这么做只能缩小重复消费的时间窗口,不可能完全消除它。这是自动提交机制的一个缺陷。
来自:18 | Kafka中位移提交那些事儿
19 人划过
它只能保证单分区上的幂等性,即一个幂等性 Producer 能够保证某个主题的一个分区上不出现重复消息,它无法实现多个分区的幂等性。其次,它只能实现单会话上的幂等性,不能实现跨会话的幂等性。这里的会话,你可以理解为 Producer 进程的一次运行。当你重启了 Producer 进程之后,这种幂等性保证就丧失了。
来自:14 | 幂等生产者和事务生产者是一回事吗?
17 人划过
订阅主题的分区数发生变更。Kafka 当前只能允许增加一个主题的分区数。当分区数增加时,就会触发订阅该主题的所有 Group 开启 Rebalance。
来自:15 | 消费者组到底是什么?
14 人划过
Kafka 把所有不在 ISR 中的存活副本都称为非同步副本。通常来说,非同步副本落后 Leader 太多,因此,如果选择这些副本作为新 Leader,就可能出现数据的丢失。毕竟,这些副本中保存的消息远远落后于老 Leader 中的消息。在 Kafka 中,选举这种副本的过程称为 Unclean 领导者选举。Broker 端参数 unclean.leader.election.enable 控制是否允许 Unclean 领导者选举。
来自:23 | Kafka副本机制详解
14 人划过
细心的你一定发现了请求队列和响应队列的差别:请求队列是所有网络线程共享的,而响应队列则是每个网络线程专属的。这么设计的原因就在于,Dispatcher 只是用于请求分发而不负责响应回传,因此只能让每个网络线程自己发送 Response 给客户端,所以这些 Response 也就没必要放在一个公共的地方。
来自:24 | 请求是怎么被处理的?
10 人划过
将你的 JVM 堆大小设置成 6GB 吧,这是目前业界比较公认的一个合理值。我见过很多人就是使用默认的 Heap Size 来跑 Kafka,说实话默认的 1GB 有点小,毕竟 Kafka Broker 在与客户端进行交互时会在 JVM 堆上创建大量的 ByteBuffer 实例,Heap Size 不能太小。
来自:08 | 最最最重要的集群参数配置(下)
6 人划过
如果你的应用中同时出现了设置相同 group.id 值的消费者组程序和独立消费者程序
来自:19 | CommitFailedException异常怎么处理?
5 人划过
应用线程总数。这个指标帮助你了解 Broker 进程对 CPU 的使用情况。
来自:36 | 你应该怎么监控Kafka?
3 人划过
不论你用的是哪个版本,都请尽量保持服务器端版本和客户端版本一致,否则你将损失很多 Kafka 为你提供的性能优化收益。
来自:05 | 聊聊Kafka的版本号
3 人划过
*精彩内容为该课程各文章中划线次数最多的内容
免费试读
讲师

胡夕

Apache Kafka Committer,老虎证券技术总监

胡夕,Apache Kafka Committer,老虎证券用户增长团队负责人,著有《Apache Kafka 实战》一书,曾任职于 IBM、搜狗和新浪微博等公司。胡夕对 Kafka 及其他开源流处理框架与技术有深刻理解,精通 Kafka 原理,主导过多个十亿级 / 天的消息引擎业务系统...查看更多
编辑推荐
讲师的其他课程
Kafka 核心源码解读
胡夕
Apache Kafka Committer,老虎证券技术总监

44讲 | 19220 人已学习

¥59¥99
包含这门课的学习路径

架构师

28门课程 151.9w人学习

云原生工程师

14门课程 86.5w人学习

后端工程师

27门课程 184.1w人学习
看过的人还看了
MySQL 实战 45 讲
林晓斌
网名丁奇,前腾讯云数据库负责人

49讲 | 224933 人已学习

¥68¥199
数据结构与算法之美
王争
前 Google 工程师

81讲 | 283800 人已学习

¥68¥199
Kafka 核心源码解读
胡夕
Apache Kafka Committer,老虎证券技术总监

44讲 | 19220 人已学习

¥59¥99
左耳听风
陈皓
网名“左耳朵耗子”,资深技术专家

119讲 | 180996 人已学习

¥98¥399
ZooKeeper 实战与源码剖析
么敬国
新东方集团首席架构师

47讲 | 18974 人已学习

¥59¥129
深入剖析 Kubernetes
张磊
Kubernetes 社区资深成员与项目维护者

57讲 | 116760 人已学习

¥68¥199