kafka入门

文章目录

主题

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

分区

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

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

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

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

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

副本

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

消息代理

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

相关推荐
无心水16 小时前
【任务调度:框架】11、分布式任务调度进阶:高可用、幂等性、性能优化三板斧
人工智能·分布式·后端·性能优化·架构·2025博客之星·分布式调度框架
cga19471 天前
【RabbitMQ】超详细Windows系统下RabbitMQ的安装配置
windows·分布式·rabbitmq
西门吹雪分身1 天前
分布式架构之CAP与数据库分片架构
数据库·分布式·架构·分库分表
future02101 天前
Kafka集群高可用架构深度解析
kafka
1104.北光c°1 天前
我理解的Leaf号段模式:美团分布式ID生成系统
java·开发语言·笔记·分布式·github·leaf
ruiang1 天前
Spring集成kafka的最佳方式
spring·kafka·linq
天涯明月19931 天前
服务网格完全指南:从基础概念到生产实践
java·服务器·数据库·分布式·微服务
筱顾大牛1 天前
Redission快速入门---分布式锁
java·redis·分布式·缓存
江不清丶1 天前
Kafka重平衡(Rebalance)深度解析:原理、影响与优化策略
分布式·kafka
Coder_Boy_2 天前
分布式系统核心技术完整梳理(含分库分表、分布式事务、熔断补偿)
jvm·分布式·spring·中间件