原创 Glusterfs之rpc模塊源碼分析(中)之Glusterfs的rpc模塊實現(3)

我的新浪微博:http://weibo.com/freshairbrucewoo。 歡迎大家相互交流,共同提高技術。 第三節、rpc通信過程分析 前面兩個小節分別對rpc服務端和客戶端的建立流程做了詳細的分析,也就是說rpc客戶端和服

原创 Glusterfs之rpc模塊源碼分析(下)之RDMA over TCP的協議棧工作過程淺析

我的新浪微博:http://weibo.com/freshairbrucewoo。 歡迎大家相互交流,共同提高技術。 聲明:本文轉至IT168:因爲GlusterFS實現了IB網絡(RDMA協議,專用硬件網卡支持),當時就在想普通的

原创 thrift之默認傳輸類TTransportDefaults和虛擬傳輸類TVirtualTransport

默認傳輸類TTransportDefaults提供了抽象類TTransport的默認實現,實現了非虛擬的方法(*_virt) read(), rea

原创 thrift之TServer類體系原理及源碼詳細解析之服務器基類TServer

這一部分主要實現了底層IO通信,還涉及到通信服務器的堵塞、非堵塞、單線程、多線程等運行模式,所以實現比較複雜。這一部分涉及到的類的關係圖如下: 由上面的類關係圖可以看出,這一部分的類關係比較複雜,複雜的不是繼承關係,而是相互之間的依賴

原创 Glusterfs之rpc模塊源碼分析(中)之Glusterfs的rpc模塊實現(2)

我的新浪微博:http://weibo.com/freshairbrucewoo。 歡迎大家相互交流,共同提高技術。 第二節、rpc客戶端實現原理及代碼分析 rpc客戶端主要發起一個rpc請求,執行完rpc請求以後就退出rpc,下面

原创 thrift之TTransport層的分幀傳輸類TFramedTransport

        幀傳輸類就是按照一幀的固定大小來傳輸數據,所有的寫操作首先都是在內存中完成的直到調用了flush操作,然後傳輸節點在flush操作之

原创 ceph主要數據結構解析1

1.Msgr.h文件:定義消息傳輸層的數據類型,以供ceph使用 (1)默認的監控端口:#define CEPH_MON_PORT 6789 (2)客戶端處理端口範圍定義: #define CEPH_PORT_FIRST 678

原创 Thrift之TProtocol類體系原理及源碼詳細解析之稠密協議類TDenseProtocol

我的新浪微博:http://weibo.com/freshairbrucewoo。 歡迎大家相互交流,共同提高技術。 這個協議類不建議投入到實際的生產環境(除非自己做了很強的壓力和全面的測試)。這個密集協議的最大作用就是儘可能使用小的

原创 Thrift之TProtocol類體系原理及源碼詳細解析之其他協議類和總結

我的新浪微博:http://weibo.com/freshairbrucewoo。 歡迎大家相互交流,共同提高技術。 第六節 其他協議類 主要的協議類基本上已經介紹完畢了,當然如果你有更好的實現和思路也可以實現自己的協議類,只要按照我

原创 Thrift之TProtocol類體系原理及源碼詳細解析之緊湊協議類TCompactProtocolT(TCompactProtocol)

我的新浪微博:http://weibo.com/freshairbrucewoo。 歡迎大家相互交流,共同提高技術。 這個協議類採用了zigzag 編碼,這種編碼是基於Variable-length quantity編碼提出來的,因

原创 thrift之TTransport層的內存緩存傳輸類TMemoryBuffer

內存緩存是簡單的在內存進行讀寫操作的一種傳輸,任何時候想在上面寫入數據都是放入緩存中,任何時候讀操作數據也是來至於緩存。內存緩存的分配使用c語言的malloc類函數,分配的長度是需要長度的兩倍,需要考慮這些內存緩存的使用範圍。 同樣這個類

原创 thrift之TTransport層的緩存傳輸類TBufferedTransport和緩衝基類TBufferBase

本節主要介紹緩衝相關的傳輸類,緩存的作用就是爲了提高讀寫的效率。Thrift在實現緩存傳輸的時候首先建立一個緩存的基類,然後需要實現緩存功能的類都可

原创 linux內核bug問題排查過程詳細報告

Linux Kernel BUG:soft lockup CPU#1 stuck分析 1.線上內核bug日誌 kernel: Deltaway too big! 18428729675200069867 ts=18446743954022

原创 ceph主要數據結構解析3-Ceph_fs.h文件

(1)集羣內部子版本協議類型宏定義:與公共協議保持獨立性,以便消息類型和協議升級受影響 #define CEPH_OSDC_PROTOCOL   24 /* server/client */OSD服務器集羣與客戶端協議版本 #defin

原创 docker解決數據存儲問題的方案

    現在docker在雲計算領域發展的勢頭很猛,各個公司不論大小都開始研究這個開源工具和技術,圍繞docker的開源項目和創業公司也多如牛毛,就是一個簡單管理container的web ui都有很多開源項目。不過還是一個人說的好,do