Kafka與常見消息隊列的對比


Kafka與常見消息隊列的對比

RabbitMQ

  • Erlang編寫
  • 支持很多的協議:AMQP,XMPP, SMTP, STOMP
  • 非常重量級,更適合於企業級的開發
  • 發送給客戶端時先在中心隊列排隊。對路由,負載均衡或者數據持久化都有很好的支持。

Redis

  • 基於Key-Value對的NoSQL數據庫
  • 入隊時,當數據比較小時Redis的性能要高於RabbitMQ,而如果數據大小超過了10K,Redis則慢的無法忍受;
  • 出隊時,無論數據大小,Redis都表現出非常好的性能,而RabbitMQ的出隊性能則遠低於Redis。

ZeroMQ

  • 號稱最快的消息隊列系統,尤其針對大吞吐量的需求場景。
  • 高級/復雜的隊列,但是開發人員需要自己組合多種技術框架,技術上的復雜度是對這MQ能夠應用成功的挑戰。
  • 具有一個獨特的非中間件的模式,不需要安裝和運行一個消息服務器或中間件
  • ZeroMQ僅提供非持久性的隊列,也就是說如果宕機,數據將會丟失。

ActiveMQ

  • 類似於ZeroMQ,它能夠以代理人和點對點的技術實現隊列。
  • 類似於RabbitMQ,它少量代碼就可以高效地實現高級應用場景。

Kafka/Jafka

  • 高性能跨語言分布式發布/訂閱消息隊列系統
  • 快速持久化,可以在O(1)的系統開銷下進行消息持久化;
  • 高吞吐,在一台普通的服務器上既可以達到10W/s的吞吐速率;
  • 完全的分布式系統,Broker、Producer、Consumer都原生自動支持分布式,自動實現負載均衡;
  • 支持Hadoop數據並行加載,對於像Hadoop的一樣的日志數據和離線分析系統,但又要求實時處理的限制,這是一個可行的解決方案。Kafka通過Hadoop的並行加載機制統一了在線和離線的消息處理。
  • 一個非常輕量級的消息系統,除了性能非常好之外,還是一個工作良好的分布式系統。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM