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 选举,负载均衡等功能

相关推荐
忘记9262 分钟前
GET 请求与 POST 请求的核心区别
java
lenkco7 分钟前
修改QtConcurrent::run支持任意参数
开发语言·c++·qt
没有bug.的程序员8 分钟前
JVM 与 Docker:资源限制的真相
java·jvm·后端·spring·docker·容器
lkbhua莱克瓦2410 分钟前
IO流——打印流
java·开发语言·前端·学习方法
赵得C18 分钟前
软件设计师前沿考点精讲:新兴技术与性能优化实战
java·开发语言·分布式·算法·设计模式·性能优化
组合缺一19 分钟前
Solon AI 开发学习17 - generate - 使用复杂提示语
java·学习·ai·llm·solon·mcp
爱笑的眼睛1123 分钟前
从零构建与深度优化:PyTorch训练循环的工程化实践
java·人工智能·python·ai
缘三水28 分钟前
【C语言】17.字符函数和字符串函数
c语言·开发语言·语法
MediaTea31 分钟前
Python 的设计哲学P08:可读性与人类语言
开发语言·python
qq_2515335931 分钟前
如何使用 Python 正则表达式去除空格/制表符/换行符?
开发语言·python·正则表达式