您好,登錄后才能下訂單哦!
有哪些消息中間件?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
消息中間件有:1、Kafka主要為高吞吐量的訂閱發布系統而設計,追求速度與持久化;2、RabbitMQ是使用Erlang語言開發的開源消息隊列系統,基于AMQP協議來實現;3、RocketMQ是純Java開發,具有高吞吐量。
消息中間件有:
Kafka、RabbitMQ、RocketMQ
1、Kafka
Kafka是LinkedIn開源的分布式發布-訂閱消息系統,目前歸屬于Apache頂級項目。Kafka主要為高吞吐量的訂閱發布系統而設計,追求速度與持久化。kafka中的消息由鍵、值、時間戳組成,kafka不記錄每個消息被誰使用,只通過偏移量記錄哪些消息是未讀的,kafka中可以指定消費組來實現訂閱發布的功能。
2、RabbitMQ
RabbitMQ是使用Erlang語言開發的開源消息隊列系統,基于AMQP協議來實現。AMQP的主要特征是面向消息、隊列、路由(包括點對點和發布/訂閱)、可靠性、安全。AMQP協議更多用在企業系統內,對數據一致性、穩定性和可靠性要求很高的場景,對性能和吞吐量的要求還在其次。
3、RocketMQ
RocketMQ是阿里開源的消息中間件,它是純Java開發,具有高吞吐量、高可用性、適合大規模分布式系統應用的特點。RocketMQ思路起源于Kafka,但并不是Kafka的一個Copy,它對消息的可靠傳輸及事務性做了優化,目前在阿里集團被廣泛應用于交易、充值、流計算、消息推送、日志流式處理、binglog分發等場景。支持的客戶端語言不多,目前是Java及C++,其中C++還不成熟;
5、Kafka、RabbitMQ、RocketMQ對比
1、Rabbitmq比kafka可靠,kafka更適合IO高吞吐的處理,比如ELK日志收集。
2、kafka具有高的吞吐量,內部采用消息的批量處理,zero-copy機制,數據的存儲和獲取是本地磁盤順序批量操作,具有O(1)的復雜度,消息處理的效率很高。rabbitMQ在吞吐量方面稍遜于kafka,他們的出發點不一樣,rabbitMQ支持對消息的可靠的傳遞,支持事務,不支持批量的操作;基于存儲的可靠性的要求存儲可以采用內存或者硬盤。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。