Java开发从入门到精通(一):Kafka基础知识

目录:

Kafka 概念

kafka 可以脱离 zookeeper 单独使用吗?为什么?

kafka 有两种数据保留的策略

kafka 同时设置了 7 天和 10G 清除数据,到第五天的时候消息达到了 10G,这个时候 kafka 将如何处理?

什么情况会导致 kafka 运行变慢?

使用 kafka 集群需要注意什么?

Kafka 数据存储设计

生产者设计

消费者设计

Consumer Group

1、Kafka 概念

Kafka 是一种高吞吐量、分布式、基于发布/订阅的消息系统,最初由 LinkedIn 公司开发,使用Scala 语言编写,目前是 Apache 的开源项目。

broker:Kafka 服务器,负责消息存储和转发

topic:消息类别,Kafka 按照 topic 来分类消息

partition:topic 的分区,一个 topic 可以包含多个 partition,topic 消息保存在各个partition 上

offset:消息在日志中的位置,可以理解是消息在 partition 上的偏移量,也是代表该消息的唯一序号

Producer:消息生产者

Consumer:消息消费者

Consumer Group:消费者分组,每个 Consumer 必须属于一个 group

Zookeeper:保存着集群 broker、topic、partition 等 meta 数据;另外,还负责 broker 故障发现,partition leader 选举,负载均衡等功能

相关推荐
x***r1511 分钟前
.NET 10 SDK 安装教程(dotnet-sdk-10.0.100-win-x64详细步骤)
java·服务器·前端
摇滚侠8 分钟前
MyBatis 入门到项目实战 MyBatis 的缓存 56-61
java·缓存·mybatis
feixing_fx9 分钟前
选择器的威力——深入理解优先级计算与层叠规则
开发语言·前端·css·前端框架·html
让我上个超影吧12 分钟前
Claude code:Hooks
java·数据库·ai编程
RH23121113 分钟前
2026.6.8Linux
java·数据库·中间件
6v6-博客18 分钟前
C语言字符串中空格的表示方法
c语言·开发语言
geovindu19 分钟前
python: speech to text offline
开发语言·python·语音识别
于指尖飞舞30 分钟前
java后端面试题(多线程极简)
java·开发语言
techdashen32 分钟前
从 Windows 的 ping.exe 入手:动态库、调用约定与 Rust FFI
开发语言·windows·rust
IT 行者42 分钟前
GitHub Spec Kit 实战(四):读懂和干预 /speckit.plan——AI 最自由发挥的一步
java·人工智能·github·ai编程·claude