原创 Kafka 事務

Kafka 事務 冪等性 冪等性是指發送同樣的請求,對系統資源的影響是一致的。結合 Kafka Producer,是指在多次發送同樣的消息,Kafka做到發送消息的不丟失和不重複。 Kafka爲啥需要冪等性? 在使用Kafka時,需要確保E

原创 Kafka 生產者Producer

Kafka 生產者Producer 整體架構 從上面的架構圖可以看出,生產的流程主要就是一個producer線程和一個sender線程,它們之間通過BatchQueue來獲取數據,它們的關係是一一對應的,所以kafka的生產過程都是異步過

原创 Kafka 控制器Controller

Kafka 控制器Controller Broker 在啓動時,會嘗試去 ZooKeeper 中創建 /controller 節點。Kafka 當前選舉控制器的規則是:第一個成功創建 /controller 節點的 Broker 會被指定爲

原创 Linux 零拷貝技術-mmap與sendFile

零拷貝是網絡編程的關鍵, 很多性能優化都離不開 數據角度分析 : 在零拷貝機制中 , 整個數據在內存中只有一份數據 , 非零拷貝機制中 , 內核緩衝區 , 用戶緩衝區 , Socket 緩衝區 , 各有一份數據 ; 零拷貝指的是沒有 CPU

原创 Linux Page cache和Buffer cache

free 命令常用參數 free 命令用來查看內存使用狀況,常用參數如下: -h human-readable 格式打印 -w 把 cache & buffer 分開打印 -t show total for RAM + swap fre

原创 Kafka 保證消息無丟失配置

Producer: block.on.buffer.full = true 儘管該參數在0.9.0.0已經被標記爲“deprecated”,但鑑於它的含義非常直觀,所以這裏還是顯式設置它爲true,使得producer將一直等待緩衝區直

原创 Kafka 日誌存儲及其清除策略

日誌存儲結構 Kafka存儲結構圖: kafka 中消息是以主題 topic 爲基本單位進行歸類的,這裏的 topic 是邏輯上的概念,實際上在磁盤存儲是根據分區存儲的,每個主題可以分爲多個分區、分區的數量可以在主題創建的時候進行指定。例

原创 Kafka 消費端分區重平衡

什麼是分區再均衡 分區的所有權從一個消費者轉移到另一個消費者,這樣的行爲被稱爲分區再均衡(Rebalance)。Rebalance 實現了消費者羣組的高可用性和伸縮性。 Rebalance 本質上是一種協議,規定了一個 Consumer G

原创 Kafka副本備份機制(LEO,HW,leader epoch)

Kafka副本備份機制(LEO,HW,leader epoch) Kafka 0.11版本之前水印副本備份機制 步驟: 初始leader,follower參數都爲0,其中leader中的remote LEO記錄的是follower的L

原创 Kafka 相關配置參數

生產者配置參數: acks:指定了必須有多少個分區副本收到消息,生產者纔會認爲消息寫入是成功的。默認爲acks=1 acks=0 如果設置爲 0,則 Producer 不會等待服務器的反饋。該消息會被立刻添加到 socket buffe

原创 華碩B460i主板調試內存

華碩B460i主板內存調參 概況 使用的主板是b460i,cpu是10900es,內存條是芝奇的3200(c16-18-18-38) 調頻2933 開始加載不能使用2933,理論上10900es的頻率最高是2933,但是調了好久只能到240

原创 Kafka問題收集

Kafka問題收集 kafka分區分配策略 幹趴面試官系列 | 請你簡述一下Kafka中的分區分配 生產者發送消息分區分配策略 kafka 裏的 partitioner (分區器)來負責客戶端生產層面的負載均衡。 如果提供 key 值 p

原创 sdkman 安裝與使用

安裝 既然是命令行工具,就只能用命令行方式來安裝(linux,mac直接用shell,windows用powerShell) 第一步、下載 curl -s "https://get.sdkman.io" | bash 第二步、執行腳本

原创 Insert into select 批量同步數據

查看某數據庫中表信息 SELECT * from information_schema.tables WHERE table_schema not in ('information_schema', 'mysql', 'performanc

原创 Window 設置終端

安裝Terminal-Icons github地址:https://github.com/devblackops/Terminal-Icons 安裝命令 PS> Install-Module -Name Terminal-Icons -Re