原文:Kafka producer異步發送在某些情況會阻塞主線程,使用時候慎重

最近發現一個Kafka producer異步發送在某些情況會阻塞主線程,后來在排查解決問題過程中發現這可以算是Kafka的一個說明不恰當的地方。 問題說明 在很多場景下我們會使用異步方式來發送Kafka的消息,會使用KafkaProducer中的以下方法: public Future lt RecordMetadata gt send ProducerRecord lt K, V gt recor ...

2019-11-13 14:58 0 749 推薦指數:

查看詳情

Kafka Producer 異步發送消息居然也會阻塞

Kafka 一直以來都以高吞吐量的特性而家喻戶曉,就在上周,在一個性能監控項目中,需要使用Kafka 傳輸海量消息,在這過程中遇到了一個 Kafka Producer 異步發送消息會被阻塞的問題,導致生產端發送耗時很大。 是的,你沒聽錯,Kafka Producer 異步發送消息也會發生阻塞 ...

Mon Sep 14 02:16:00 CST 2020 0 896
Kafka學習筆記(6)----Kafka使用Producer發送消息

1. KafkaProducer   不論將kafka作為什么樣的用途,都少不了的向Broker發送數據或接受數據,Producer就是用於向Kafka發送數據。如下:    2. 添加依賴   pom.xml文件如下: 3. 發送消息 ...

Wed May 15 17:10:00 CST 2019 0 7139
kafka producer batch 發送消息

Sender 類實現了 Runnable 接口,封裝了具體的邏輯,發送消息和接收響應都在這個類中。 3. 執行回調 ...

Sun Jan 06 20:38:00 CST 2019 0 851
TransmittableThreadLocal使用踩坑-(主線程set,異步線程get)

背景:為了獲取相關字段方便,項目里使用了TransmittableThreadLocal上下文,在異步邏輯中get值時發現並非當前請求的值,且是偶發狀況(並發問題)。 發現:TransmittableThreadLocal是阿里開源的可以實現父子線程值傳遞的工具,其子線程必須使用 ...

Mon Dec 27 03:19:00 CST 2021 1 4441
關於高並發下kafka producer send異步發送耗時問題的分析

最近開發網關服務的過程當中,需要用到kafka轉發消息與保存日志,在進行壓測的過程中由於是多線程並發操作kafka producer 進行異步send,發現send耗時有時會達到幾十毫秒的阻塞,很大程度上上影響了並發的性能,而在后續的測試中發現單線程發送反而比多線程發送效率高出幾倍 ...

Sun Jan 20 08:16:00 CST 2019 3 8471
異步線程阻塞

返回目錄 應該這樣理解它 異步,早期開發人員對它有很多誤解,認為不阻塞主線程就是異步,更有認為不阻塞UI就是異步,但異步歸根結底和這兩個東西關系並不大,異步的出現主要是為了提高線程的利用率,讓可用線程更高,而不是一個線程只做一件事,這件事沒有完成就不去做下面的事情,這是不正確的,線程應該 ...

Wed Nov 08 19:18:00 CST 2017 0 3627
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM