各大MQ對比
特性 | ActiveMQ | RabbitMQ | RocketMQ | Kafka |
---|---|---|---|---|
單機吞吐量 | 萬級 | 萬級 | 十萬級 | 十萬級 |
topic數量對吞吐量的影響 | - | - | topic可以達到幾百,幾千個的級别,吞吐量會有較小幅度的下降 | topic從幾十個到幾百個的時候,吞吐量會大幅度下降 |
時效性 | 毫秒級 | 微秒級 | 毫秒級 | 毫秒級 |
可用性 | 高 | 高 | 非常高,分布式架構 | 非常高,分布式架構 |
消息可靠性 | 有較低機率丢失資料 | - | 經過參數優化配置,可以做到0丢失 | 經過參數優配置,消息可以做到0丢失 |
功能支援 | 完善 | 并發能力很強,性能及其好,延時很低 | MQ功能較為完善,還是分布式的,擴充性好 | 功能較為簡單,主要支援簡單的MQ功能,在大資料領域的實時計算以及日志采集被大規模使用,是事實上的标準 |
優劣勢總結 | 非常成熟,功能強大;偶爾會有較低的機率丢失消息;社群不活躍 | 性能及其好,延時性能低,功能完善;提供管理界面;社群比較活躍;吞吐量較低;使用erlang開發源碼閱讀不友善 | 接口簡單易用;吞吐量高;分布式擴充友善;社群還算活躍;經過雙11的考驗 | MQ功能比較少;吞吐量高;分布式架構;可能存在消息重複消費問題;主要适用大資料實時計算以及日志收集 |