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

相关推荐
码云数智-大飞5 分钟前
Java接口与抽象类:从本质区别到架构选型
开发语言
小碗羊肉5 分钟前
【从零开始学Java | 第二十三篇】泛型(Generics)
java·开发语言·新手入门
m0_7505803014 分钟前
Java并发—Java线程
java·开发语言
我不是懒洋洋26 分钟前
预处理详解
c语言·开发语言·c++·windows·microsoft·青少年编程·visual studio
QuZero26 分钟前
JDK7 ConcurrentHashMap principle
java·哈希算法
计算机安禾31 分钟前
【数据结构与算法】第14篇:队列(一):循环队列(顺序存储
c语言·开发语言·数据结构·c++·算法·visual studio
独断万古他化43 分钟前
【Java 实战项目】多用户网页版聊天室:消息传输模块 —— 基于 WebSocket 实现实时通信
java·spring boot·后端·websocket·ajax·mybatis
yyt3630458411 小时前
spring单例bean线程安全问题讨论
java·spring
weixin_649555671 小时前
C语言程序设计第四版(何钦铭、颜晖)第十一章指针进阶之奇数值结点链表
c语言·开发语言·链表
书到用时方恨少!1 小时前
Python os 模块使用指南:系统交互的瑞士军刀
开发语言·python