Kafka.Day01.学习相关概念

1.多播消息

不同的消费组订阅同一个topic,那么不同的消费组中只有一个消费者能收到消息。实际上也是多个消费者收到同一个消息。

2.查看消费组及详细信息情况

– describe --group testGroup

重点关注以下信息

  • curren-offset 最后被消费的消息偏移量
  • log-end-offset 消息总量 (最后一条消息的偏移量)
  • lag: 积压了多少条消息 (未被消费)

二、主题和分区的概念

1.主题topic

主题topic在kafka中是一个逻辑概念,kafka通过topic将消息进行分类。不同的topic会被订阅的不同的topic消费者消费

2.分区partition

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

2)创建多分区的主题

– replication-factor 1 --partitions 2 --topic test

3.kafka中消息日志文件中保持的内容

  • 000000.log: 这个文件保存的就是消息
  • _consumer_o ffsets-49:kafka内部自己创建了 _consumer-offset50个分区。这个主题用来存放消费者消费某个主题的偏移量。因为每个消费者都会自己维护着消费的主题的偏移量,也就是说每个消费者会把消费的主题的偏移量自主上报给kafka 中的默认主题。:consumer _offsets 。因此kafkfa为了提升这个主题的并发性,默认设置为50个分区。
  • 至于提交到哪个分区:通过hash函数:hash(consumerGoupId)%_consumer_offsets主题的分区数
  • 提交到该主题的内容是:key是consumerGroup+topic+分区号,value 就是当前offset的值。
  • 文件中保存的消息,默认保存时间7天。

4.副本概念

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

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

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

5.关于消费组消费者的细节

  • 一个partition只能被一个消费组中的一个消费者消费,目的是保证消费的顺序星,但是多个消费者的总的消费顺序得不到保证,那(那么做到消费的总顺序性呢?

  • partition的数量决定了消费组中消费者的数量,建议同一个消费组中消费者数量不要超过partition数量,否者多出来的消费者消费不到消息(但是假如有宕机的可以及时补上 ,如果消费者挂了,那么会触发rebalance机制。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值