您好,登錄后才能下訂單哦!
這篇文章主要講解了“java消息中間件如何選型”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“java消息中間件如何選型”吧!
這么多技術(shù),如何進(jìn)行選型呢?
首先對(duì)于阿里的RocketMQ,因?yàn)槭前⒗镩_源的,對(duì)于國(guó)內(nèi)開源的保持謹(jǐn)慎的態(tài)度,暫時(shí)不采取該中間件。
所以只能在ActiveMQ、RabbitMQ、ZeroMQ、Kafka中間選一款作為消息隊(duì)列中間件。
下面從幾個(gè)維度來對(duì)比下
1、社區(qū)活躍度
從目前網(wǎng)上的資料上看,RabbitMQ、activeMQ、ZeroMQ三者中RabbitMQ絕對(duì)是首選。
2、消息持久化
ZeroMq不支持消息持久化,ActiveMQ和RabbitMQ都支持。
3、核心技術(shù)
可靠性、靈活的路由、集群、事務(wù)、高可用的隊(duì)列、消息排序、問題追蹤、可視化管理工具、插件系統(tǒng)等等。
RabbitMq / Kafka最好,ActiveMQ次之,ZeroMQ最差。當(dāng)然ZeroMQ也可以做到,不過自己必須手動(dòng)寫代碼實(shí)現(xiàn),工作量不小。尤其是可靠性中的:持久性、投遞確認(rèn)、發(fā)布者證實(shí)和高可用性。
4、高并發(fā)
毋庸置疑RabbitMQ最高,因?yàn)镽abbitMQ是由天生具備高并發(fā)高可用特性的erlang語言實(shí)現(xiàn)的。
以上對(duì)比參考來源網(wǎng)絡(luò),大同小異??偨Y(jié)就是需要從RabbitMQ和Kafka之間選一款適合自己的。RabbitMQ和Kafka這兩款無疑也是現(xiàn)在市場(chǎng)上有得比較多的兩款消息隊(duì)列中間件,從網(wǎng)絡(luò)資料和面試要求也可以看得出來。
如何抉擇??
總體來說,分布式消息中間件Kafka和RabbitMQ在行業(yè)認(rèn)可、服務(wù)支持、可靠性、可維護(hù)性、兼容性、易用性等方面各有特色。Kafka在開源許可證、產(chǎn)品活躍度、性能、安全性、可擴(kuò)展性等方面優(yōu)于RabbitMQ,Kafka采用的許可證更寬松,活躍度更高,性能遠(yuǎn)高于RabbitMQ,在安全性和可擴(kuò)展性方面能夠提供更好的保障。Kafka僅在功能上略少于RabbitMQ,但是已經(jīng)具備了主要的功能。
綜合上述所有評(píng)測(cè)結(jié)果,我們決定選擇Kafka。
感謝各位的閱讀,以上就是“java消息中間件如何選型”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)java消息中間件如何選型這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。