深入分析Kafka架构(一):工作流程、存储机制、分区策略

本文深入剖析Kafka的工作流程,包括消息的offset、MessageSize和data组成。详细讲解文件存储机制,如分片、索引和segment结构,以及如何通过offset查找message。同时,讨论了分区策略的原因和实现方式,包括指明partition、key的hash取余和round-robin算法。通过对Kafka的深入理解,为大数据实时处理提供关键洞察。
摘要由CSDN通过智能技术生成

一、前言

在开始之前首先要明确一点,kafka是一个分布式流平台,本质上是一个消息队列。谈到消息队列,就会联想到消息队列的三大作用:异步、消峰、解耦。kafka主要应用在大数据的实时处理领域,使用起来比较简单,本文主要分析kafka的工作流程、存储机制,分区策略,并围绕多个角度展开总结。

但是要注意的是,随着时代的巨轮驶向2020,目前kafka已经不是一家独大了,Pulsar作为一个天生支持多租户、跨地域复制、统一消息模型的消息平台,已经在不少企业成功的替代了Kafka。关于Apache Pulsar的更多知识,感兴趣的可以关注我,后面会对它进行总结和深入。

二、kafka工作流程

工作流程

  1. kafka将消息按照topic进行分类,每条message由三个属性组成。
    • offset:表示 message 在当前 Partition 中的偏移量,是一个逻辑上的值,唯一确定了 Partition 中的一条 message,可以简单的认为是一个 id;
    • MessageSize:表示 message 内容 data 的大小;
    • data:message 的具体内容
  2. 在整个kafka架构中,生
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值