[Kafka]performance tools

LinkedIn幫Kafka做了很多吞吐量效能測試,他們以RabbitMQ benchmark為範本來進行一連串的效能測試,

單一producer、100 bytes、3x async-replication每秒高達75MB(每秒可發送786432 的message),

sync-replication約40MB(每秒可發送419430的message)。單一Consumer則每秒有89.7MB(每秒可接收940573的message),

三個Consumer約為249.5MB(每秒可接收2616197.12的message),

而End to End的Producer’s latency平均2 ms,一整個讓我驚艷。

...繼續閱讀 »

[C#]Using RX

我之前在開發Consumer API時,對於Message的接收是使用callback function+event,code review時,

同事建議為什麼不用RX來簡化code,並更簡單處理非同步error handle和multiple threads的concurrency問題。

...繼續閱讀 »

[Kafka]Kafka Eagle

目前我使用Kafka-manager 管理公司的kafka cluster,但管理上我覺得有些地方很不方便,

偏偏其中有一點是我個人覺得很重要的,所以昨天就嘗試了Kafka Eagle用來補足Kafka-manager的不足,

另外我也大概玩了KafkaOffsetMonitor(太久沒更新,無法支援kafka 0.10.2.X)和linkedin/kafka-monitor(可支援kafka 0.10.2.X,但太多javascripts錯誤,我改到一半就放棄了)。

...繼續閱讀 »

[SQL SERVER]Something about In-Memory isolation

SQL Server預設將交易隔離等級套用至disk和memory table,

而共同目標都是要達到交易完整性,

而交易初始模式(Transaction Initiation Modes)將直接影響我們要使用那種isolation level,

開發人員有必要了解其中差異,以避免交易更新資料發生非預期錯誤或資料不一致情況。

...繼續閱讀 »

[Kafka]ReConsume

kafka預設保存7天(168 hour)的log在disk,處理message過程中可能會出現異常或非預期錯誤(如網路中斷、disk 問題),

這時有可能造成我們資料遺失或不一致,這篇來看看如何重新consume這些資料。

...繼續閱讀 »