天天看點

消息中間件-Kafka怎麼治療三高

        上一節:有寫為什麼選Kafka  有一個重要點就是 治三高! 下面簡單寫一下!

        Kafka-高并發  怎麼支撐百萬級并發?

                  将消息批量 RecordBatch 寫入;

        Kafka-高性能  百萬級,怎麼快速寫入?

                 内部機制采用ZoreCopy 零拷貝機制,資料并不直接寫磁盤,而是寫入到 Page Cache (反正就是很快,和寫記憶體一樣,和寫redis一樣) 然後靠PageCache機制,自動寫入磁盤;如果此時消費者對接過來,取資料可以先從PageCache裡去取。如果沒有就找磁盤!

        Kafka-高可用  怎麼儲存?

                 主題分片 多副本機制! 一台挂了,另一台頂上! 怎麼頂;Zookeeper 和每個節點建立連接配接,Kafka叢集裡,會根據你的設定維護一個IRS 副本集合,其中一個Leader ,其他的都是Follow,一旦Leader和zk的心跳挂了,就會選舉出另一個Leader.  由誰選 ,由叢集上的一個Controller去選 ,選好了,通知各個節點. 如果兩個同時選擇怎麼辦? 按最大的版本号來! 很好的避免了腦裂!