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

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

一、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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

最笨的羊羊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值