1. 程式人生 > >ActiveMQ、RabbitMQ、ZeroMQ、Kafka、RocketMQ選型

ActiveMQ、RabbitMQ、ZeroMQ、Kafka、RocketMQ選型

市面上很多MQ產品,比如ActiveMQ、RabbitMQ、ZeroMQ、Kafka、RocketMQ,到底哪種更加適合呢?

  • RabbitMQ:
    1. 訊息堆積的支援並不好,當大量訊息積壓的時候,會導致RabbitMQ的效能急劇下降。
    2. 每秒鐘可以處理幾萬到十幾萬條訊息。
    3. RabbitMQ使用的程式語言Erlang,二次開發難度大。
    4. 最流行的訊息中間之一。
  • RocketMQ:
    1. RocketMQ響應時延大多數情況下可以做到毫秒級的響應,適合線上業務場景。
    2. 周邊生態系統的整合和相容程度要略遜一籌。
    3. 支援事務訊息。
    4. RocketMQ的每秒鐘大概能處理幾十萬條訊息。
  • Kafka:
    1. Kafka與在大資料和流計算領域支援很好。
    2. Kafka使用Scala和Java語言開發。
    3. 每秒鐘可以處理幾十萬條訊息,Kafka的極限處理能力可以超過每秒2000萬條
    4. 同步收發訊息的響應時延比較高,不太適合線上業務場景。
  • ActiveMQ:
    1. 已經脫離正軌。
  • ZeroMQ:
    1. 不是一個完整的訊息佇列產