消费者端

消息队列两种模式

1.点对点:一对一,消费者主动拉取数据,消息收到后消息清除
2.发布/订阅模式:一对多,消费者消费数据之后不会消除消息

  • 推-->以同样的方式传给消费者,可能导致消费者资源处理不足或消费者资源浪费(不同消费者处理能力不一样)
  • 拉取-->消费者要不断轮询队列中是否有消息

基础架构

Zookeeper在Kafka中的作用

Kafka集群中有一个broker会被选举为Controller,负责管理集群broker的上下线,所有topic的分区副本分配和leader选举等工作。Controller的管理工作都是依赖于ZooKeeper的。

消费者分区分配策略

  • RoundRobin
  • Range

1.轮询策略中,会把消费者订阅的一个或多个主题当成一个整体,适合于订阅相同主题的消费者
2.Range策略,以订阅的主题为主体,平均分给消费者

offset维护

1.0.9版本之后,消费者读取的内容offset信息存在kafka端
2.修改配置文件consumer.properties

exclude.internal.topics=false;

2.读取offset

bin/kafka-console-consumer.sh --topic __consumer_offsets --zookeeper hadoop:2181 --formatter"kafka.coordinator.group.GroupMetadataManager\$OffsetsMessageFormatter" --consumer.config config/consumer.properties --from-beginning
posted @ 2020-05-26 16:44  Q1Zhen  阅读(103)  评论(0编辑  收藏  举报