消息系統 Kafka

1.Topic 主題

kafka學習了數據庫裏面的設計,在裏面設計了topic(主題),這個東西類似於關係型數據庫的表

此時我需要獲取中國移動的數據,那就直接監聽TopicA即可。

Topic和partition像是HBASE裏的table和region的概念,table只是一個邏輯上的概念,真正存儲數據的是region,這些region會分佈式地存儲在各個服務器上面,對應於kafka,也是一樣,Topic也是邏輯概念,而partition就是分佈式存儲單元。

分區可以使大文件可以分散存儲在不同的服務器上。

 

    Kafka是一個消息系統,用作LinkedIn的活動流(Activity Stream)和運營數據處理管道(Pipeline)的基礎。活動流數據是幾乎所有站點在對其網站使用情況做報表時都要用到的數據中最常規的部分。活動數據包括頁面訪問量(Page View)、被查看內容方面的信息以及搜索情況等內容。這種數據通常的處理方式是先把各種活動以日誌的形式寫入某種文件,然後週期性地對這些文件進行統計分析。運營數據指的3是服務器的性能數據(CPU、IO使用率、請求時間、服務日誌等等數據)。運營數據的統計方法種類繁多。
 

2.kafka和rabbitmq 的區別

一、語言不同

RabbitMQ是由內在高併發的erlanng語言開發,用在實時的對可靠性要求比較高的消息傳遞上。

kafka是採用Scala語言開發,它主要用於處理活躍的流式數據,大數據量的數據處理上。如:用戶行爲統計。

二、結構不同

三、Brokerr與Consume交互方式不同

 

五、使用場景

rabbitMQ支持對消息的可靠的傳遞,支持事務,不支持批量的操作;基於存儲的可靠性的要求存儲可以採用內存或者硬盤。

金融場景中經常使用kafka具有高的吞吐量,內部採用消息的批量處理,zero-copy機制,數據的存儲和獲取是本地磁盤順序批量操作,具有O(1)的複雜度(與分區上的存儲大小無關),消息處理的效率很高。(大數據)
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章