主流的消息隊列有以下幾種:
- KafkaApache開源的消息隊列,主要應(yīng)用于大數(shù)據(jù)方向上;
1. Kafka是linkedin開源的MQ系統(tǒng),主要特點是基于Pull的模式來處理消息消費,追求高吞吐量;
2. 常常用于日志收集和傳輸;
3. 0.8開始支持復制,不支持事務(wù),適合產(chǎn)生大量數(shù)據(jù)的互聯(lián)網(wǎng)服務(wù)的數(shù)據(jù)收集業(yè)務(wù);
- RabbitMQ1. RabbitMQ是一個AMQP實現(xiàn),傳統(tǒng)的messaging queue系統(tǒng)實現(xiàn),基于Erlang。
2. AMQP協(xié)議更多用在企業(yè)系統(tǒng)內(nèi),對數(shù)據(jù)一致性、穩(wěn)定性和可靠性要求很高的場景
- RocketMQ阿里巴巴在2012年開源的分布式消息中間件,目前已經(jīng)捐贈給Apache基金會
- CMQ騰訊云分布式高可靠消息隊列服務(wù)
從上面我們看到,如果應(yīng)用于大數(shù)據(jù)上,那么毫無疑問就是使用了kafka了, 如果追求對數(shù)據(jù)一致性、穩(wěn)定性和可靠性要求很高的場景那么就選擇Rabbitmq, 不過對于個人選擇,我會選擇rocketmq, 我認為Rocketmq真的太強大,是一個真正 在線上在規(guī)模應(yīng)用的消息隊列!
主流消息隊列對比
更多建議: