<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Producer 管理 TCP ## 為何采用 TCP? * 在開發客戶端時,能夠利用 TCP 本身的高級功能,e.g. 多路復用請求、同時輪詢多個連接 * 多路復用請求(multiplexing request) * 指將兩個或多個數據流合并到底層單一物理連接中的過程 * TCP 多路復用會在一條物理連接上創建若干個虛擬連接,每個虛擬連接負責自己的數據流 * 嚴謹說,TCP 并不能多路復用,它只是提供可靠的消息交付語義保證,e.g. 自動重傳丟失報文 ## Kafka Producer 概覽 * 開發一個 Producer 有四步 * 構造 Producer 對象所需的參數對象 * 創建 Kafka 對象實例 * 使用 KafkaProducer 的 send 方法發送消息 * 調用 KafkaProducer 的 close 方法關閉 Producer 并釋放資源 ``` Java Properties props = new Properties (); props.put(“參數1”, “參數1的值”); props.put(“參數2”, “參數2的值”); …… try (Producer<String, String> producer = new KafkaProducer<>(props)) { producer.send(new ProducerRecord<String, String>(……), callback); …… } ``` ## Kafka Producer 何時創建 TCP? * 當 Producer 創建 KafkaProducer 實例時,會建立與 Broker 的 TCP 連接 * 更準確的:在創建 KafkaProducer 實例時,生產者應用會在后臺創建并啟動一個名為 Sender 的線程,該 Sender 線程開始運行時首先會創建與 Broker 的連接。 * Producer 會連接 bootstrap.servers 參數指定的所有 Broker * bootstrap.servers:指定了這個 Producer 啟動時要連接的 Broker 地址 * 生產中通常指定 3-4 臺即可 * 因為 Producer 連接到一臺 Broker 就能拿到集群的 Broker 信息,不需要指定所有 Broker * TCP 連接還可能在兩個地方創建: * 更新元數據后 * 當集群有新的 Broker 時,需要額外新創建 * 消息發送時 ## 何時關閉 TCP? * Producer 端關閉 TCP 的兩種方式 * 用戶主動關閉 * Kafka 自動關閉 * 參考 Producer 端參數:connections.max.idle.ms * 該參數默認值為 9 min。如果 9 分鐘內沒有任何請求流過某個 TCP 連接,則會被關閉 * Kafka 自動關閉實在 Broker 端,但發起方是客戶端 * TCP 看來這種關閉屬于被動關閉,即 passive close * 被動關閉的后果是會產生大量的 CLOSE_WAIT 連接 * 如果 Producer 端 connections.max.idle.ms = -1,則 KafkaProducer 建立的 TCP 連接會成為僵尸連接
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看