Kafka概念和关于springboot配置Kafka参数详解

1.基本概念

*Producer:

           消息生产者,往Topic发布消息

*Consumer:

           消息消费者,往Topic取消息并处理

*Consumer Group:

           topic 可以广播给不同的group,一个group只能有一个consumer消费消息

*Broker(物理概念):

           Kafka集群,每个节点为一个broker

*Topic(逻辑概念):

           消息类别,对数据进行区分、隔离

*Partition(物理概念):

           Kafka存储的基本单位,一个Topic数据会被分散存储在多个Partition,每个Partition是有序的;

           一个Partition只会在一个broker上;

           消费者的数目<=Partition数目

*Replication:(副本)

           同一个Partition可能会有多个Replication,多个Replication数据是一样的;

           基本单位是Partition;

           读和写都是在Leader;

           Follower实时复制Leader数据

*Replication Leader:

           负责Partition上与Producer和Consumer的交互,一个Partition只有一个Leader

2.基本结构

     

3.特点

           多分区、多副本、多订阅者、基于Zookeeper调度

           高吞吐量、低延迟、高并发、时间复杂度为O(1)

           数据可持久化、容错性、消息自动平衡

4.Springboot配置kafka参数详解

     #原始数据kafka读取
     kafka.consumer.servers=IP:9092,IP:9092(kafka消费集群ip+port端口)
     kafka.consumer.enable.auto.commit=true(是否自动提交)
     kafka.consumer.session.timeout=20000(连接超时时间)
     kafka.consumer.auto.commit.interval=100(自动提交时间间隔)
     kafka.consumer.auto.offset.reset=latest(实时生产,实时消费,不会从头开始消费)
     kafka.consumer.topic=result(消费的topic)
     kafka.consumer.group.id=test(消费组)
     kafka.consumer.concurrency=10(设置消费线程数)
 
     #协议转换后存储kafka
     kafka.producer.servers=IP:9092,IP:9092(kafka生产集群ip+port端口)
     kafka.producer.topic=result(生产的topic)
     kafka.producer.retries=0
     kafka.producer.batch.size=4096
     kafka.producer.linger=1
     kafka.producer.buffer.memory=40960

猜你喜欢

转载自blog.csdn.net/qq_35732831/article/details/84537145