首页 存档 技术 查看内容

kafka文件系统设计那些事

2018-3-30 13:00 |来自: 互联网 347 0

摘要: 架构师(JiaGouX)我们都是架构师! 1.文件系统说明 文件系统一般分为系统和用户2种类型,系统级文件系统:ext3,ext4,dfs,ntfs等等,,笔者并不会向大家介绍那种纷繁复杂的分布式或系统级文件系统, 而是从kafka架构 ...

架构师(JiaGouX)
我们都是架构师!


1.文件系统说明

文件系统一般分为系统和用户2种类型,系统级文件系统:ext3,ext4,dfs,ntfs等等,,笔者并不会向大家介绍那种纷繁复杂的分布式或系统级文件系统,

而是从kafka架构高性能角度考虑,深入剖析kafka文件系统存储结构设计。

2.kafka文件系统架构

2.1 文件系统数据流

下面用图形表示介绍客户端处理几个过程如下:


图1

  • 当建立连接请求时,首先客户端向kafka broker发送连接请求,broker中由Acceptor thread线程接收并建立连接后,把client的socket以轮询方式转交给相应的processor thread。

  • 当client向broker发送数据请求,由processor thread处理并接收client数据放到request缓冲区中,以待IO thread进行逻辑处理和计算并把返回result放到response缓冲区中.

    接着唤醒processor thread,processor thread抱住response队列循环发送所有response数据给client.

2.2 kafka文件系统存储结构


图2

  • paritions分布规则,kafka集群由多个kafka broker组成,一个topic的partitions会分布在一个或多个broker上,topic的partitions在kafka集群上分配规则为,安装paritions索引编号依次有序分布在broker上,

    当partitions数量

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部