MQ選型
吞吐量來說:Kafka>RabbitMQ>ActiveMQ
數據準確性:RabbitMQ>ActiveMQ>Kafka
ActiveMQ
歷史悠久,與spring整合較好,實現了多種協議,但性能並不高,多用於中小型公司。
RabbitMQ
支持AMQP事務處理。數據一致性、穩定性、可靠性做的最好,使用最廣,但性能並沒有RocketMQ和Kafka高
RocketMQ
阿里開源的中間件,具有高吞吐量、高併發、適合大規模分佈式系統應用的特點,經過雙十一實戰場景的多次檢驗。但由於它是阿里內部從實戰到開源的產物,裏面有很多接口和API並不是那麼直接的普遍被衆多項目適用,相比Kafka甚至性能更優,但社區並沒有前幾個大。
除此之外,RocketMQ的分佈式事務功能需要收費,並不是所有功能都免費~
Kafka
Kafka設計的初衷是處理日誌,性能上比RabbitMQq強,能扛大數據、高併發,但準確性差沒有RabbitMQ強,廣泛應用在大數據領域