關(guān)于比較 常見(jiàn)的消息隊(duì)列有哪些,它們之間有什么區(qū)別?
常見(jiàn)的消息隊(duì)列有哪些,它們之間有什么區(qū)別?Rabbitmq:Rabbitmq是一個(gè)基于Erlang語(yǔ)言的開(kāi)源消息隊(duì)列。Rabbitmq在數(shù)據(jù)一致性、穩(wěn)定性和可靠性方面都非常優(yōu)秀。它直接或間接地支持多種
常見(jiàn)的消息隊(duì)列有哪些,它們之間有什么區(qū)別?
Rabbitmq:
Rabbitmq是一個(gè)基于Erlang語(yǔ)言的開(kāi)源消息隊(duì)列。Rabbitmq在數(shù)據(jù)一致性、穩(wěn)定性和可靠性方面都非常優(yōu)秀。它直接或間接地支持多種協(xié)議,并能很好地支持多種語(yǔ)言。然而,它的性能和吞吐量并不令人滿意。由于Erlang語(yǔ)言的局限性,二次開(kāi)發(fā)的成本很高。
Kafka:
Kafka是LinkedIn于2010年12月開(kāi)發(fā)的分布式流媒體平臺(tái),開(kāi)源。它現(xiàn)在是Apache的頂級(jí)項(xiàng)目,是一個(gè)高性能的跨語(yǔ)言分布式流媒體平臺(tái)??焖俪志没⒊志没_(kāi)銷(xiāo)在O(1)以下;高吞吐量
ActiveMQ:
是Apache下的一個(gè)子項(xiàng)目,介于zeromq和rabbitmq之間。與rabbitmq類(lèi)似,它可以用少量代碼高效地實(shí)現(xiàn)高級(jí)應(yīng)用場(chǎng)景,并且只需要較低的成本。被稱(chēng)為消息中間件的“瑞士軍刀”。然而,ActiveMQ不夠輕量級(jí),并且當(dāng)有許多隊(duì)列時(shí),它不能很好地支持。據(jù)說(shuō)也有丟失信息的情況。
Rocketmq:
Rocketmq是阿里巴巴的開(kāi)源消息中間件。它目前在Apache中孵化,并在純Java中開(kāi)發(fā)。它具有高吞吐量、高可用性,適合大規(guī)模分布式計(jì)算