kafka--kafka的基本概念-topic和partition

一、kafka的基本概念-topic和partition

1、topic (主题 )

topic是逻辑概念

  • 以Topic机制来对消息进行分类的,同一类消息属于同一个Topic,你可以将每个topic看成是一个消息队列。

  • 生产者(producer)将消息发送到相应的Topic,而消费者(consumer)通过从Topic拉取消息来消费

  • kafka中是要求消费者主动拉取消息消费的,它并不会主动推送消息

2、partition(分区)

每个topic可以有多个分区,这是kafka为了提高并发量而设计的一种机制:

一个topic下的多个分区可以并发接收消息,同样的也能供消费者并发拉取消息,即分区之间互不干扰,这样的话,有多少个分区就可以有多大的并发量。

所以,如果要更准确的打比方,一个分区就是一个消息队列,只不过这些消息队列同属于一种消息分类

分区是有序,主题不是有序的

分区的目的 分散磁盘的IO

可以再增加分区

相关推荐
Mr.朱鹏8 小时前
SQL深度分页问题案例实战
java·数据库·spring boot·sql·spring·spring cloud·kafka
脸大是真的好~10 小时前
分布式锁-基于redis实现分布式锁(不推荐)- 改进利用LUA脚本(不推荐)前面都是原理 - Redisson分布式锁
redis·分布式·lua
liuniansilence11 小时前
🚀 高并发场景下的救星:BullMQ如何实现智能流量削峰填谷
前端·分布式·消息队列
Wang's Blog14 小时前
RabbitMQ: 实现高效消息监听之从基础到自动配置
分布式·rabbitmq
Wang's Blog15 小时前
RabbitMQ: 高级特性详解之消息返回机制与消费端确认机制
分布式·rabbitmq
Wang's Blog15 小时前
RabbitMQ: 使用MessageConverter高效处理消息
分布式·rabbitmq
‘胶己人’17 小时前
redis分布式锁
数据库·redis·分布式
山沐与山17 小时前
【MQ】Kafka与RocketMQ深度对比
分布式·kafka·rocketmq
武子康17 小时前
Java-203 RabbitMQ 生产者/消费者工作流程拆解:Connection/Channel、默认交换器、ACK
java·分布式·消息队列·rabbitmq·erlang·ruby·java-rabbitmq