CKafka 架構原理

2022-06-06 21:03:07 字數 719 閱讀 9450

訊息佇列 ckafka 的架構圖如下所示:

訊息佇列 ckafka 相比於自建開源 apache kafka 所具備的優勢請參考 產品優勢。

訊息佇列 ckafka 中存在大量的網路資料持久化到磁碟和磁碟檔案通過網路傳送的過程。這一過程的效能直接影響 kafka 的整體吞吐量,主要通過以下幾點實現:

broker 的零拷貝(zero copy)機制:使用 sendfile 系統呼叫,將資料直接從頁快取傳送到網路上。

減少網路開銷

訊息佇列 ckafka 的資料持久化主要通過如下原理實現:

多副本設計可增強系統可用性、可靠性。

replica 均勻分布到整個集群,replica 的演算法如下:

將所有 broker(假設共 n 個 broker)和待分配的 partition 排序。

將第 i 個 partition 分配到第(i mod n)個 broker 上。

將第 i 個 partition 的第 j 個 replica 分配到第((i + j) mode n)個 broker 上。

訊息佇列 ckafka 在 zookeeper 中動態維護了乙個 isr(in-sync replicas),isr 裡的所有 replica 都跟上了 leader。只有 isr 裡的成員才有被選為 leader 的可能。

Elasticsearch 架構原理

elasticsearch的一些架構設計,對我們做效能調優 故障處理,具有非常重要的影響。下面將從elasticsearch的準實時索引的實現 自動發現 rounting和replica的讀寫過程,shard的allocate控制 在傳統的資料庫中,乙個欄位存乙個值,但是這對於全文搜尋是不足的。想要...

Elasticsearch 架構原理

elasticsearch的一些架構設計,對我們做效能調優 故障處理,具有非常重要的影響。下面將從elasticsearch的準實時索引的實現 自動發現 rounting和replica的讀寫過程,shard的allocate控制 在傳統的資料庫中,乙個欄位存乙個值,但是這對於全文搜尋是不足的。想要...

RocketMQ架構原理

結合部署結構圖,描述集群工作流程 1,啟動namesrv,namesrv起來後監聽埠,等待broker produer consumer連上來,相當於乙個路由控制中心。2,broker啟動,跟所有的namesrv保持長連線,定時傳送心跳包。心跳包中包含當前broker資訊 ip 埠等 以及儲存所有t...