Kafka系列文章
基于Kafka2.1解读Producer原理
基于Kafka2.1解读Consumer原理
Kafka服务端NIO操作原理解析(一)
Kafka服务端NIO操作原理解析(二)
文章目录
前言
kafka服务端,咱们前两篇文章都是围绕kafka的IO进行分析的,读者很难有全貌的理解,也就是整个服务端有哪些功能,以及这些功能之间是如何协作。
一、kafka服务端的架构
1.1 基本概念介绍
其实任何一个系统,总结起来无非都是『计算』+『IO』。只不过针对咱们的平时的业务系统,“计算”比较多,也就是主要是业务逻辑;IO一般涉及到的是RPC服务框架的调用,当然不管是调用其他业务服务、中间件、数据源其实都是RPC,只不过可能是不同的“网络模型+自定义协议”。
1.2 kafka的特性
kafka作为一个开源的MQ框架,当然也是『计算』+『IO』,但是最为人称道的其实就是他的“IO”模型:网络IO+文件IO。
不过kafka还有个厉害的地方,他使用了计算和IO分离的模式。想想咱们自己的业务系统,是不是会写一段IO,写一段业务逻辑,来回穿插?而再回顾下Kafka服务端NIO操作原理解析(一)和
Kafka服务端NIO操作原理解析(二),想想kafka服务端是怎么做的?几乎这两段全是数据的IO逻辑,也就是读取request,写入response的过程。根本不依赖于所谓的逻辑计算,也就是咱们kafka对producer和consumer的请求逻辑实际处理逻辑。
其实想想producer是不是也是这么干的?accumulator不停把数据组装成batches,Sender线程不停遍历batches,然后进行消息发送。producer通过b
Kafka服务端架构与计算IO分离解析

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



