kafka入门

文章目录

主题

kafka中的消息存在topic中,也就是主题,类似于数据库中的表,通常我们将相同类型的消息存放在一个主题中。数据库的表是结构化,而topic是半结构化,某些情况下我们也可以将不同类型的消息存放在同一个topic中。

分区

主题可以包含多个分区,kafka是分布式的消息系统,可以将不同的分区存到不同的服务器上,这样就使得kafka具有拓展性。可调整分区的数量和kafka节点的数量来进行拓展。

分区是线性增长的,当消息存到kafka分区里,就不可变更,kafka会为每个消息分配一个偏移量,也就是offset,offset会记录每条消息的位置,kafka可通过偏移量对消息进行提取,但没法对消息的内容进行检索和查询。偏移量在每个分区中是唯一的,不可重复,递增的。不同的分区之间偏移量可以重复。

kafka中的消息 record是以键值对的形式进行存储的,不指定key,那key的值就是空。

key值为空,kafka会以轮询的方式讲消息写到不同的分区中。

如果我们指定了key,那么相同key的消息会被写入相同的分区。

副本

kafka通过副本机制来保证消息的可靠性。

消息代理

Broker负责消息的读写请求,并将数据写入到磁盘中。

相关推荐
_waylau1 天前
鸿蒙架构师修炼之道-面向对象的分布式架构
分布式·华为·架构·架构师·harmonyos·鸿蒙
Francek Chen1 天前
【大数据存储与管理】NoSQL数据库:03 NoSQL与关系数据库的比较
大数据·数据库·分布式·nosql
路飞说AI1 天前
分布式事务最佳实践:基于kafka实现的最终一致性方案
kafka
FeBaby1 天前
Java 高并发场景下 Redis 分布式锁(UUID+Lua)最佳实践
java·redis·分布式
richard_yuu2 天前
工控场景落地|分布式协调与动态重配置管理,如何实现产线不停机升级?
分布式
Devin~Y2 天前
互联网大厂Java面试:Spring Boot/Redis/Kafka/K8s 可观测 + RAG(向量检索/Agent)三轮追问实录
java·spring boot·redis·kafka·kubernetes·spring mvc·webflux
MoFe12 天前
【.net core】【RabbitMq】rabbitmq在.net core中的简单使用
分布式·rabbitmq·.netcore
路飞说AI2 天前
Kafka消息不丢失全攻略
kafka
何中应2 天前
在windows本地部署RabbitMQ
分布式·消息队列·rabbitmq
Wild API2 天前
按任务轻重做模型分流的实战思路
分布式·微服务·架构