設備租賃網(wǎng)站建設搜索優(yōu)化引擎
MQ的主要作用:異步提高性能、解耦提高擴展性、削峰。
一、常見中間件對比
Kafka、RocketMq和RabbitMq最大的區(qū)別就是:前兩個是分布式存儲。
1.1、ActiveMq
優(yōu)點:1)完全支持jms規(guī)范的消息中間件 ,2)提供豐富的api, 3)多種集群構(gòu)建模式。
缺點:)在高并發(fā)的場景下,性能可能不是很好,容易造成消息堆積,延時。
1.2、RabbitMQ
使用Erlang語言開發(fā),基于AMQP協(xié)議實現(xiàn)。AMQP協(xié)議更多用在企業(yè)系統(tǒng)內(nèi),對數(shù)據(jù)一致性、穩(wěn)定性和可靠性要求很高的場景,對性能和吞吐量的要求在其次。
1.3、kafka
優(yōu)點:高吞吐量,用于大數(shù)據(jù)收集分析。
缺點:對消息的重復消費,消息的丟失,不支持事務等。
1.4、rocketMq
優(yōu)點:由于借鑒kafka的設計思路,具有高吞吐量,高性能的特定,同時也對事務,消息的可靠性做了優(yōu)化。
缺點:需要收費(解決分布式事務,主從自動切換 在4.0需要收費)
二、RabbitMq
2.1、AMQP的核心概念
RabbitMq基于AMQP協(xié)議實現(xiàn),其中AMQP有以下核心概念?