Kafka通信详情

  • ProducerRequest:生产者发送消息的请求,生产者将消息发送至Kafka集群中的某
    个Broker, Broker 接收到此请求后持久化此消息并更新相关元数据信息。 (Producer发送消息)
  • TopicMetadataRequest :获取Topic元数据信息的请求,无论是生产者还是消费者都
    需要通过此请求来获取感兴趣的Topic的元数据。 (获取感兴趣Topic元数据)
  • FetchRequest:消费者获取感兴趣Topic的某个分区的消息的请求,除此之外,分
    区状态为Follower的副本也需要利用此请求去同步分区状态为Leader的对应副本
    数据。 (获取感兴趣Topic分区消息,同步)
  • OffsetRequest:消费者发送至Kafka集群来获取感兴趣Topic的分区偏移量的请求,
    通过此请求可以获知当前Topic所有分区在不同时间段的偏移量详情。 (获取消费者感兴趣的分区偏移量)
  • OffsetCommitRequest:消费者提交Topic被消费的分区偏移量信息至Broker, Broker
    接收到此请求后持久化相关偏移量信息。 (提交消费了的分区偏移量)
  • OffsetFetchRequest:消费者发送 获取 提交至Kafka集群的相关Topic被消费的 详细
    信息,和OffsetCommitRequest相互对应。 (获取被消费的消息)
  • LeaderAndlsrRequest:当Topic的某个分区状态发生变化时,处于Leader状态的
    KafkaController发送此请求至相关的Broker,通知其做出相应的处理。 (检测Topic分区变化状态)
  • StopReplicaRequest:当Topic的某个分区被删除或者下线的时候,处于Leader状态
    的KafkaController发送此请求至相关的Broker,通知其做出相应的处理。 (检测分区是否在线)
  • UpdateMetadataRequest:当Topic 的元数据信息发生变化时,处于Leader状态的
    KafkaContoller发送此请求至相关的Broker,通知其做出相应的处理。 (Topic元数据变化)
  • BrokerContolledShutdownRequest:当Broker正常下线时,发生此请求至处于Leader
    状态的KafnRaCotoller。 (Broker下线)
  • ConsumerMetadataRequest: 获取保存特定Consumer Group消费详情的分区信息。 (获取CG信息)

交互过程

  • Producer和Kafka集群: Producer需要利用ProducerRequest和TopicMetadataRequest
    米完成 Topic元数据的查询、消息的发送。
  • Consumer和Kafka集群: Consumer需要利用TopicMetadataRequest请求,FetchRequest
    请求。OffsetRequest 请求、OffsetCommitRequest 请求、fsetFechnRequest 请求和
    ConsumerMetadataRequest请求来完成Topic元数据的查询、消息的订阅、历史偏移量
    的查询、偏移量的提交、当前偏移量的查询。
  • Kafkaontroller状态为Leader的Broker和KafkaController状态为Standby的Broker:
    KafkaContoller 状态为Leader的Broker需要利用LeaderAndIsrRequest请求、Stop-
    ReplicaRequest请求,UpdateMetadataRequest 请求来完成对Topic的管理; Kafka-
    Controller状态为Standby 的Broker需要利用BrokerControlledShutdownRequest请求
    来通知KafkaContoller状态为Leader的Broker自己的下线动作。
  • Broker和Broker之间: Broker相互之间需要利用FetchRequest请求来同步Topic分
    区的副本数据,这样才能使Topic分区各副本数据实时保持一致。

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×