1、問:為什么要使用rabbitMq呢?
面試官問這個問題,肯定是想知道你們公司有一個什么場景需要使用到這個Mq,這個場景有一個什么技術挑戰(zhàn)導致必須要用這個mq,用了這個mq之后有什么好處。mq經(jīng)典的使用場景有解耦,異步,削鋒。
異步通信:當一個系統(tǒng)收到請求,需要在自己系統(tǒng)處理數(shù)據(jù),處理完后,還需要把數(shù)據(jù)發(fā)送給其他系統(tǒng)。而每個系統(tǒng)接收請求后處理數(shù)據(jù)的時間不一致。如果是同步請求的話,需要等待所有請求處理完之后,才能將結果返回。而異步是非阻塞的,可以直接將結果返回,然后再去處理數(shù)據(jù)。用mq可以把這個同步通信的過程變成異步通信的流程,從而達到一個低延時的特性。
系統(tǒng)耦合:當一個項目中,有多個系統(tǒng)時會發(fā)生嚴重的耦合。當一個系統(tǒng)有一個很重要的基礎數(shù)據(jù),而其他系統(tǒng)也需要這些數(shù)據(jù)。如果其他系統(tǒng)掛掉了,還怎么將這些消息發(fā)送出去。這個時候我們可以將消息發(fā)送到mq上,如果其他系統(tǒng)需要這些基礎數(shù)據(jù),可以直接去mq里面消費就行,不需要關系系統(tǒng)有沒有掛掉,或者超時的情況。這就是mq的一個發(fā)布消息訂閱模型,可以降低系統(tǒng)的耦合度。
流量削鋒:當系統(tǒng)在某一瞬間有五千個請求進來時,而我們系統(tǒng)最多能處理兩千條請求。那我們可以從mq中處理系統(tǒng)所承受的最大限度的請求,等高峰期一過,就將在mq中積壓的請求全部處理掉。文章來源:http://www.zghlxwxcb.cn/news/detail-443357.html
缺點:不過使用mq,會導致系統(tǒng)可用性降低,復雜度提高。系統(tǒng)本身的外部依賴越多越容易掛掉,如果系統(tǒng)好好地,但是mq劃掉的,整個項目就用不了了文章來源地址http://www.zghlxwxcb.cn/news/detail-443357.html
到了這里,關于RABBITMQ為什么要使用的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!