温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Kafka的知识点有哪些

发布时间:2021-11-16 16:37:27 来源:亿速云 阅读:214 作者:iii 栏目:大数据
# Kafka的知识点有哪些 ## 目录 1. [Kafka概述](#1-kafka概述) - 1.1 [基本概念](#11-基本概念) - 1.2 [设计目标](#12-设计目标) 2. [核心架构](#2-核心架构) - 2.1 [Broker](#21-broker) - 2.2 [Topic与Partition](#22-topic与partition) - 2.3 [Producer/Consumer](#23-producerconsumer) 3. [消息存储机制](#3-消息存储机制) - 3.1 [日志分段存储](#31-日志分段存储) - 3.2 [索引机制](#32-索引机制) 4. [高可用设计](#4-高可用设计) - 4.1 [副本机制](#41-副本机制) - 4.2 [ISR集合](#42-isr集合) 5. [性能优化技术](#5-性能优化技术) - 5.1 [零拷贝](#51-零拷贝) - 5.2 [批量发送](#52-批量发送) 6. [运维与监控](#6-运维与监控) - 6.1 [常用命令](#61-常用命令) - 6.2 [监控指标](#62-监控指标) 7. [应用场景](#7-应用场景) 8. [总结](#8-总结) ## 1. Kafka概述 ### 1.1 基本概念 Apache Kafka是由LinkedIn开发并开源的高性能分布式消息系统,具有以下核心特性: - **发布订阅模型**:基于Topic的消息路由机制 - **高吞吐量**:单机可达百万级TPS - **持久化存储**:消息持久化到磁盘 - **分布式架构**:支持水平扩展 ### 1.2 设计目标 | 设计目标 | 实现方式 | |---------|----------| | 高吞吐 | 顺序IO、批量处理 | | 低延迟 | 零拷贝技术 | | 高可用 | 多副本机制 | ## 2. 核心架构 ### 2.1 Broker ```java // 典型Broker配置示例 server.properties: broker.id=1 listeners=PLNTEXT://:9092 log.dirs=/tmp/kafka-logs 

2.2 Topic与Partition

  • Topic逻辑划分:消息类别
  • Partition物理存储
    • 每个Partition是一个有序队列
    • 通过Partition Key决定消息路由

2.3 Producer/Consumer

生产者关键参数

acks=1 # 消息确认级别 retries=3 # 重试次数 batch.size=16384 # 批量大小 

3. 消息存储机制

3.1 日志分段存储

/tmp/kafka-logs └── test-topic-0 ├── 00000000000000000000.log ├── 00000000000000000000.index └── 00000000000000000000.timeindex 

3.2 索引机制

  • 稀疏索引:每4KB数据建立一条索引
  • 二分查找:快速定位消息位置

4. 高可用设计

4.1 副本机制

副本角色 特性
Leader 处理所有读写请求
Follower 异步复制数据

4.2 ISR集合

graph LR Leader-->|同步|Follower1 Leader-->|同步|Follower2 Leader-->|不同步|Follower3 

5. 性能优化技术

5.1 零拷贝

传统IO路径:

磁盘文件 -> 内核缓冲区 -> 用户缓冲区 -> Socket缓冲区 -> 网卡 

零拷贝路径:

磁盘文件 -> 内核缓冲区 -> 网卡 

6. 运维与监控

6.1 常用命令

# 创建Topic kafka-topics.sh --create --topic test --partitions 3 --replication-factor 2 # 查看消费偏移量 kafka-consumer-groups.sh --describe --group my-group 

7. 应用场景

  1. 日志收集系统
  2. 流处理平台
  3. 事件溯源架构

8. 总结

Kafka通过其独特的设计实现了: - 高吞吐的消息处理 - 可靠的数据持久化 - 灵活的分布式扩展 “`

(注:实际文档应包含更详细的技术原理说明、参数配置示例、性能测试数据等内容以达到万字规模,此处为结构示例)

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI