0
点赞
收藏
分享

微信扫一扫

深入浅出理解kafka原理系列之:生产者和消费者,消息的偏移量和顺序消费原理



深入浅出理解kafka原理系列之:生产者和消费者,消息的偏移量和顺序消费原理

  • 一、kafka生产者和消费者
  • 1.生产者
  • 2.消费者
  • 二、消息的偏移量和顺序消费原理


一、kafka生产者和消费者

1.生产者

./kafka-console-consumer.sh --bootstrap-server bigdata1:9092 --topic test

2.消费者

打开一个消费消息的客户端,向kafka服务器的某个主题消费消息

方式一:从当前主题中的最后一条消息的offset(偏移量位置)+1开始消费

./kafka-console-consumer.sh --bootstrap-server bigdata1:9092 --topic test

方式二:从当前主题中第一条消息开始消费

./kafka-console-consumer.sh --bootstrap-server bigdata1:9092 --topic test --from-begin

  • kafka集群有多个broker,每个broker中有多个partition。一个partition只能被一个消费者组里的某一个消费者消费,从而保证消费顺序。
  • 一个消费者可以消费多个partition。
  • kafka只在partition的范围内保证消息消费的局部顺序性,不能在同一个topic中的多个partition中保证总的消费顺序性。
  • partition的数量决定了消费组中消费者的数量,建议同一个消费组中消费者的数量不要超过partition的数量,否则多的消费者消费不到消息。
  • 如果消费者挂了,那么会触发rebalance机制,会让其他消费者来消费该分区

二、消息的偏移量和顺序消费原理

  • 生产者将消息发送给broker,broker会将消息保存在本地的日志文件中

/usr/local/kafka/data/kafka-logs/主题-分区/00000000.log

  • 消息的保存是有序的,通过offset偏移量来描述消息的有序性
  • 消费者消费消息时也是通过offset来描述当前要消费的那条消息的位置


举报

相关推荐

0 条评论