Kafka学习笔记三:kafka 单播和多播,broker,主题,分区,副本

Kafka学习笔记三:kafka 单播和多播,broker,主题,分区,副本,第1张

Kafka学习笔记三:kafka 单播和多播,broker,主题分区,副本 1.单播消息

如果多个消费者在同一个消费组,那么只有一个消费者可以收到订阅的topic中的消息

./kafka-console-consumer.sh --bootstrap-server bigdata1:9092 --topic test --from-beginning --consumer-property group.id=testgroup1
2.多播消息

不同的消费组订阅同一个topic,那么不同的消费组中只有一个消费者能收到消息。

./kafka-console-consumer.sh --bootstrap-server bigdata1:9092 --topic test --from-beginning --consumer-property group.id=testgroup1

./kafka-console-consumer.sh --bootstrap-server bigdata1:9092 --topic test --from-beginning --consumer-property group.id=testgroup2
3.主题 topic

kafka通过topic将消息进行分类,不同的topic会被订阅该topic的消费者消费

但是有个问题,如果说这个topic中的消息非常多,多到需要几个T来存,因为消息是保存在log日志文件中的,为了解决这个问题,kafka给出分区解决

4.分区 partition

 

通过partition将一个topic中的消息分区来存储

分区存储,可以统一解决存储文件过大的问题提供了读写的吞吐量,读和写可以同时在多个分区中进行

创建多分区主题:

./kafka-topics.sh --zookeeper localhost:2181 --create --topic test --replication-factor 3 --partitions 2

kafka中消息日志文件中保存的内容:

0000.log:文件中保存的就是消息__consumer_offsets-49:kafka内部自己创建了__consumer_offsets主题 包含了50个分区,这个主题用来存放消息的偏移量,也就是说每个消费者会把消费的肢体的偏移量自主上报给kafka中的默认主题,至于提交到哪个分区,通过hash函数(默认为什么设置50个分区:因为可能会接收高并发的请求,可以通过 offsets.topic.num.partition修改)

5.副本

副本是对分区的备份,在集群中,不同的副本会被部署在不同的broker上

副本是为主题中的分区创建多个备份,多个备份在kafka集群的多个broker中,会有一个副本作为leader,其他follower

 

leader:kafka的写和读的 *** 作,都发生在leader上,leader负责把数据同步给follower,当leader挂了,经过主从选举,从多个follower中选举产生一个新的leaderfollower:接收leader同步的数据1.isr:可以同步和已同步的节点会被存入到isr的集合中,如果isr中的节点性能较差,会被踢出isr集合

集群中有多个broker,创建主题是可以指明主题有多个分区(把消息拆分到不同的分区中存储),可以为分区创建多个副本,不同的副本存放在不同的broker里。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5706302.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存