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

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

1、topic (主题 )

topic是逻辑概念

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

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

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

2、partition(分区)

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

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

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

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

分区的目的 分散磁盘的IO

可以再增加分区

相关推荐
Query*4 小时前
分布式消息队列kafka【五】—— kafka海量日志收集实战
分布式·kafka
serendipity_hky6 小时前
【SpringCloud | 第5篇】Seata分布式事务
分布式·后端·spring·spring cloud·seata·openfeign
lang201509289 小时前
Kafka元数据缓存机制深度解析
分布式·缓存·kafka
qq_3432470310 小时前
单机版认证kafka
数据库·分布式·kafka
pingzhuyan11 小时前
微服务: springboot整合kafka实现消息的简单收发(上)
spring boot·微服务·kafka
武子康11 小时前
Java-199 JMS Queue/Topic 集群下如何避免重复消费:ActiveMQ 虚拟主题与交付语义梳理
java·分布式·消息队列·rabbitmq·activemq·mq·java-activemq
源代码•宸11 小时前
分布式缓存-GO(简历写法、常见面试题)
服务器·开发语言·经验分享·分布式·后端·缓存·golang
A尘埃11 小时前
Java业务场景(高并发+高可用+分布式)
java·开发语言·分布式
苦学编程的谢12 小时前
RabbitMQ_7_高级特性(4)
分布式·rabbitmq
赵榕12 小时前
RabbitMQ发布订阅模式同一消费者多个实例如何防止重复消费?
分布式·微服务·rabbitmq