美文网首页Kafka
KafkaConsumer 入门理解

KafkaConsumer 入门理解

作者: 不存在的里皮 | 来源:发表于2020-06-23 15:06 被阅读0次

    在深入源码前,建议先将这些总结看一遍,有一个大概的印象

    offset思路

    需要理解offset的提交机制、保存。比如commitSync、commitAsync、__consumer_offsets。
    深入还能了解offset的恢复。

    rebalance理解思路

    消费者组需要理解两个角色:

    • coordinator,负责某个消费者组的broker
    • group leader,由coordinator指派负责分配方案的客户端
      建组流程有两步:
    • JoinGroup流程
    • SyncGroup流程

    客户端与coordinator间除了发送Join/Sync请求,还有心跳包、提交位移请求。Join和Sync请求会对消费者组的状态产生影响,而心跳包、提交唯一请求会捕获消费者组状态的改变。

    KafkaConsumer比KafkaProducer复杂,因为除了基本的发出请求、接收响应、网络IO,还引入了consumer group的概念(分布式消费),组成员的变动就引入了rebalance话题,还需要管理offset,防止丢失读取。这里每个都是话题。

    主要组件

    Kafka主要分为以下几个组件:


    Kafka主要组件

    KafkaConsumer不是线程安全的,换句话说,对于组件中的调用,我们不必考虑多线程下的同步,只需以线性方式理解即可。

    个人总结几个组件的功能如下:


    相关文章

      网友评论

        本文标题:KafkaConsumer 入门理解

        本文链接:https://www.haomeiwen.com/subject/zdyffktx.html