zoukankan      html  css  js  c++  java
  • Kafka producer sender 线程的活动关系图

    重新按泳道方式整理了一下producer sender线程的活动图,大致描述了主要的过程

    leastLoadedNode 的说明:

    首先从现有的broker节点列表中随机选择一个节点,以此为起点循环所有的节点

    如果某个节点当前飞行队列请求数为0,且节点是连接状态,则选择此节点,退出循环

    否则寻找飞行队列中请求数最少的处于连接状态的节点,或者有可能选择一个尚未连接的节点(如果所有已连接节点都在使用中)

    永远不会返回一个处于灯火管制期(blackout)节点(处于断开连接状态,且还在重连周期内,默认为"reconnect.backoff.ms" -> "50",也就是从上次尝试连接时间到当前的时间流逝还没到reconnect.backoff.ms)

    NetworkClient.maybeUpdate的说明:

    什么情况可以发送数据呢,只有节点是连接状态,且节点通道channel是ready状态(transportLayer是ready,authenticator是complete状态),且此节点的飞行队列数少于每连接最大数(默认为 "max.in.flight.requests.per.connection" -> "5")

    那什么情况下可以连接呢,如果节点不存在连接状态,或者节点是断开连接状态且从上次尝试连接时间到当前的时间流逝已经超过了重连周期("reconnect.backoff.ms" -> "50")

  • 相关阅读:
    opensuse tumbleweed中安装code
    树莓派中将caplock映射为esc键
    记录一次奇怪但是很有意义的程序编译警告
    新树莓派系统安装ROS记录
    程序的深挖
    intle官方手册下载
    slax linux的定制
    angular4 *ngFor获取index
    axios post传参后台无法接收问题
    AMD、CMD、CommonJs和 ES6对比
  • 原文地址:https://www.cnblogs.com/benfly/p/9456065.html
Copyright © 2011-2022 走看看