kafka原理及优化
文章平均质量分 93
辉哥的IT杂货铺
添加微信公众号:互联网架构师之路,获取实时信息
展开
-
kafka是如何做到百万级高并发低迟延的?
Kafka是高吞吐低延迟的高并发、高性能的消息中间件,在大数据领域有极为广泛的运用。配置良好的Kafka集群甚至可以做到每秒几十万、上百万的超高并发写入。Kafka到底是如何做到这么高的吞吐量和性能的呢?我们今天来走进kafka的server端探究一下它的Reactor高并发网络模型机制。1.1、Kafka Reactor模型架构Kafka客户端和服务端通信采取的是NIO的reactor模...原创 2019-09-09 13:00:16 · 781 阅读 · 0 评论 -
kafka生产者的蓄水池机制
1.1、整体架构图Kafka还有蓄水池?大家先别急,我们先上一张架构图。从上面的架构图可以看出,生产的流程主要就是一个producer线程和一个sender线程,它们之间通过BatchQueue来获取数据,它们的关系是一一对应的,所以kafka的生产过程都是异步过程,它的同步和异步指的是接收响应结果的模式是同步阻塞还是异步回调。同步和异步的生产者调用示例如下:异步生产模式:p...原创 2019-09-12 17:23:41 · 1144 阅读 · 1 评论 -
kafka生产者的消息发送机制
开篇一张图,读者更幸福,不多说上架构图。这个架构图我们在前面一篇文章《kafka生产者的蓄水池机制》里面介绍过,上一篇我们是介绍了这个图里面的消息收集过程(我们成为“蓄水池”机制),这里我们就介绍它的另外一部分,消息的发送机制。1.1、Sender运行过程所有的消息发送,都是从Sender线程开始,它是一个守护线程,所以我们首先就需要来看一下Sender的run方法,最外层的run...原创 2019-09-19 16:07:41 · 1066 阅读 · 0 评论 -
Kafka生产者分区优化
经过前面几篇kafka生产者专题讲解,我们还可以找出哪些地方进一步来对它进行优化的吗?答案是肯定的,这里我们介绍一个kafka当前最新版本2.4.0合入的一个KIP-480,它的核心逻辑就是当存在无key的序列消息时,我们消息发送的分区优先保持粘连,如果当前分区下的batch已经满了或者linger.ms延迟时间已到开始发送,就会重新启动一个新的分区(逻辑还是按照Round-Robin模式),我...原创 2019-09-27 19:21:14 · 737 阅读 · 0 评论