1. 程式人生 > >kafka非同步傳送資料,不阻塞

kafka非同步傳送資料,不阻塞

kafka生產者預設是回執機制的,即必須確認服務端(server)處理過資料之後才能算是傳送完成。雖然生產者會使用執行緒池處理這些業務,但如果kafka的服務端掛掉生產者也會進行阻塞。
kafka日誌收集上線之前,測試的時候就發生過關掉kafka服務端後頁面訪問非常緩慢,結果找到原因是因為如果kafka生產者沒連線到服務端就會進行6秒的阻塞。這對需要嵌入到各個子系統的分散式應用來說存在很大的隱患。

可以通過設定配置選項讓kafka生產者不進行阻塞
max.block.ms 控制block的時長,當buffer空間不夠或者metadata丟失時產生阻塞(block) 預設時長6000毫秒
props.put(“max.block.ms”, “0”);

相關推薦

kafka非同步傳送資料阻塞

kafka生產者預設是回執機制的,即必須確認服務端(server)處理過資料之後才能算是傳送完成。雖然生產者會使用執行緒池處理這些業務,但如果kafka的服務端掛掉生產者也會進行阻塞。 kafka日誌收集上線之前,測試的時候就發生過關掉kafka服務端後頁面訪

kafka-0.10.0.1版本在java客戶端傳送資料接收

錯誤日誌: org.apache.kafka.common.errors.TimeoutException: Batch containing 100 record kafka版本:0.10.0.1 zookeeper版本: 3.4.5 產生的現象: 編寫好java

Vue 父元件ajax非同步更新資料子元件props獲取

當父元件  axjos  獲取資料,子元件使用  props  接收資料時,執行  mounted  的時候  axjos  還沒有返回資料,而且  mounted 只執行一次,這時   props  中接收的資料為空解決方案:在對應元件中判斷資料的長度

axios的post請求傳送資料後端接收

在main.js加上這個 import qs from 'qs'; axios.interceptors.request.use((config) => {     config.data = qs.stringify(config.data);     retu

微信小程式分包傳送資料給微信硬體完成升級

微信小程式分包傳送資料,給微信硬體完成韌體升級 微信硬體升級流程: 1.準備升級韌體包,我們使用的是zip包,實際使用的時候可以放在伺服器下載。 2.掃描ble裝置並連線,向裝置寫入10,進入dfu模式。 3.進入dfu之後藍芽會斷開,需要重新連結,另外,duf模式下,藍芽的

35. 批量插入資料使用replace操作

題目描述 對於表actor批量插入如下資料,如果資料已經存在,請忽略,不使用replace操作 CREATE TABLE IF NOT EXISTS actor ( actor_id smallint(5) NOT NULL PRIMARY KEY, first_name varchar(45)

執行緒程序協程非同步和同步阻塞IO

1.執行緒,程序,協程 程序定義:程序是具有一定獨立功能的程式在一個數據集上的一次動態執行的過程,是系統進行資源分配和排程的一個獨立單位 執行緒定義:執行緒是CPU排程和分派的基本單位,是比程序更小能獨立執行的單位,執行緒佔有系統。但是它可以與它同屬的程序和其他在該程序中的執行緒共享

資料庫SQL實踐35:批量插入資料使用replace操作

思路: SQLite如果不存在則插入,如果存在則忽略 INSERT OR IGNORE INTO tablename VALUES(...); 如果不存在則插入,如果存在則替換 INSERT OR REPLACE INTO tablename VALUES(...); 這裡指的存

STM32+NRF24L01 傳送傳送資料返回0x10即一直返回最大重發次數值。但接收端能接收到資料

現象:傳送端傳送資料,接收端能接收到。 但傳送端判斷為傳送失敗,檢視返回值為0X10。 即NRF24L01_TxPacket(tmp_buf)的值為0X10,TX_OK值為0X20,故雖然接收端能收到資料。但 傳送端顯示“傳送失敗”   深入檢視“NRF24L01_T

Kafka Producer 傳送資料

Kafka Producer 傳送資料 (1)生產者概覽 (1)不同的應用場景對訊息有不同的需求,即是否允許訊息丟失、重複、延遲以及吞吐量的要求。不同場景對Kafka生產者的API使用和配置會有直接的影響。 (2)Kafka傳送訊息的主要步驟 訊息格式:每個訊息是一個Producer

Vue中v-for遍歷多層巢狀資料能重新渲染的問題

問題 { "properties": [ [ { "name": "property_name", "example": "travel_time", "value": "" }, { "name":

vue 高階屬性父元件provide向子元件傳送資料子元件通過inject接收資料

以前父元件向子元件中傳值是通過props傳值,子元件不能更改父元件中的值,但是可以通過從父元件中獲取的值定義給自己的data值,這裡父元件可以通過provide向子元件傳遞自己元件中的data值,子元件通過inject獲取父元件提供的值程式碼如下: 定義一個子元件: <template> &

Android 使用Sqlite資料庫時插入了資料報錯但查詢

Android 使用Sqlite資料庫時,插入了資料,不報錯,但查詢不到 (初學者)今天寫安卓的時候遇見這麼一個問題,我覺得挺有趣的,就是cursor查詢時,用cursor.getString(1),這種居然不能精確定位到行位置(可能是從0開始?有時間再細糾一下),得用cur

簡述基於V4L2驅動框架的UVC攝像頭驅動(只用於獲取資料具備控制功能)

分析的是韋東山第三期視訊中的從零編寫USB攝像頭驅動裡的程式碼 1)入口函式: 註冊一個usb_driver結構體:usb_register裡面有什麼內容?根據id_table進行匹配 :表示它能支援哪些裝置當接上能夠支援的裝置的時候,會呼叫probe函式2)在probe函

ajax非同步請求資料用bootstrap中的tree模板實現tree

後臺資料格式json資料data: {"0":[{"id":1,"fatherId":0,"typeName":"測試","typeIndex":0,"typeStatus":"1"}], "1":[{"id":2,"fatherId":1,"typeName":"測試類別

kafka: java生產者往kafka topic傳送資料傳送失敗

在使用java寫的kafka生產者把資料傳送給kafka的topic時,遇到傳送三次且資料無法傳送成功的Error. 2016-09-08 10:32:49,695- [INFO] Fetching metadata from broker BrokerE

mongoDB查詢findOne()入參無法查到資料入參可查到

Goods.findOne({productId:productId},function(err1,doc){    //doc返回null}但是Goods.findOne({},function(er

C#帶cookie Post和Get方式傳送資料保持cookie

在實際程式設計中,可能需要讀取特定網頁的資訊,但很多網站需要使用者登入後,才能夠獲取相關的頁面內容,這就需要程式設計者先臨時儲存當前的cookie,在C#中可以使用CookieContainer 物件來儲存登入後的Cookie資訊,這樣,在每次傳送資料的時候,附加上Cookie資訊,就可以了。       

解決ajax非同步傳輸資料return返回為undefined的問題

function GetUserInfo(tp) { var username; $.ajax({ type: "POST", cache: false, data: "type=exlogin&tp=

zTree非同步載入資料預設展開全部節點

非同步載入Tree 想要預設展開全部節點,使用普通的方法是不行的。 例如: $(document).ready(function(){ $.fn.zTree.init($("#areaTree2"), setting3, zNodes3);