1.mq優(yōu)缺點(diǎn)
優(yōu)點(diǎn):解耦,削峰,異步
缺點(diǎn):系統(tǒng)復(fù)雜度高(考慮一致性,重復(fù)消費(fèi),消息丟失)
2. kafka,activeMq,RabbitMQ,RocketMQ優(yōu)缺點(diǎn)
activeMQ使用不多,沒(méi)有大規(guī)模吞吐量場(chǎng)景,社區(qū)不活躍,不建議
RabbitMQ:小型公司可以考慮,支持穩(wěn)定,活躍度高
RocketMQ:大公司,基礎(chǔ)架構(gòu)比較強(qiáng)
kafka:實(shí)時(shí)計(jì)算,日志采集等場(chǎng)景
3. mq常見(jiàn)問(wèn)題
消息順序問(wèn)題:消費(fèi)者固定,比如kafka到一個(gè)指定partition。缺點(diǎn)是并發(fā)度較低,消費(fèi)端出現(xiàn)異常會(huì)阻塞消費(fèi)。理論程序應(yīng)該保證消息的順序,而不是靠消息中間件保證順序。
消息重復(fù)問(wèn)題:網(wǎng)絡(luò)不可達(dá)會(huì)造成消息重復(fù),比如發(fā)生的時(shí)候網(wǎng)絡(luò)超時(shí),生產(chǎn)者重新發(fā)了一次。消息重復(fù)無(wú)可避免,需要消費(fèi)端冪等處理。