原创 Tornado之源碼解析

因爲最近做項目,一直接觸tornado,所以抽空把源碼的一些原理搞一搞。 tornado採用多進程+異步+epoll的模型,可以提供比較強大的網絡響應性能。通過Nginx+tornado一起部署,可以同時支持多個實例的運行,從而支持加倍的

原创 kafka日誌對象(三)—— Log的操作

Log 的常見操作分爲 4 大部分: 高水位管理操作:高水位的概念在 Kafka 中舉足輕重,對它的管理,是 Log 最重要的功能之一。 日誌段管理:Log 是日誌段的容器。高效組織與管理其下轄的所有日誌段對象,是源碼的核心。 關鍵位移值

原创 kafka日誌對象(一)—— Log Segment

kafka的高吞吐量和持久性是一大亮點,內部的日誌操作是如何呢,研究明白了一定豁然開朗,至少我有種恍然大明白的感覺。 kafka的日誌結構 Kafka 日誌對象由多個日誌段對象組成,而每個日誌段對象會在磁盤上創建一組文件。 包括消息日誌

原创 kafka日誌對象(二)—— Log

日誌(Log)是日誌段(Log Segment)的容器,裏面定義了很多管理日誌段的操作。 Log 源碼結構 Log 源碼位於 Kafka core 工程的 log 源碼包下,文件名是 Log.scala Log Class & Obje

原创 kafka請求全流程(二)——請求的接收以及分發

承接上一篇(https://blog.csdn.net/fenglei0415/article/details/106162288) 二. 請求的接收以及分發 主要分析兩個類,實現網絡通信的關鍵部件。分別是Acceptor 類和Proce

原创 kafka請求全流程(一)——客戶端請求

kafka的源碼路上一直都是個小學生,如有發現錯誤,請多指正,不勝感激。 總結了一張kafka網絡通信層架構,如圖: 整張圖大概劃分5部分,分別是: Clients 或其他 Broker 發送請求給 Acceptor 線程。 Proce

原创 kafka請求全流程(三)—— I/O處理

承接上一篇,請求的接收與分發(https://blog.csdn.net/fenglei0415/article/details/106172921),接下來應該是請求隊列的通道(https://blog.csdn.net/fenglei

原创 kafka網絡請求模塊

最近一直研究kafka源碼,想着有必要記錄一下。不管研究是否到位,也算是一個里程碑吧。 當我們說到 Kafka 服務器端,也就是 Broker 的時候,往往會說它承擔着消息持久化的功能,但本質上,它其實就是一個不斷接收外部請求、處理請求,