其實就是問問你訊息佇列都有哪些使用場景,然後你專案裡具體是什麼場景,說說你在這個場景裡用訊息佇列是什麼?
面試官問你這個問題,期望的乙個回答是說,你們公司有個什麼業務場景,這個業務場景有個什麼技術挑戰,如果不用 mq 可能會很麻煩,但是你現在用了 mq 之後帶給了你很多的好處。
先說一下訊息佇列常見的使用場景吧,其實場景有很多,但是比較核心的有 3 個:解耦、非同步、削峰。
解耦看這麼個場景。a 系統傳送資料到 bcd 三個系統,通過介面呼叫傳送。如果 e 系統也要這個資料呢?那如果 c 系統現在不需要了呢?a 系統負責人幾乎崩潰......
在這個場景中,a 系統跟其它各種亂七八糟的系統嚴重耦合,a 系統產生一條比較關鍵的資料,很多系統都需要 a 系統將這個資料傳送過來。a 系統要時時刻刻考慮 bcde 四個系統如果掛了該咋辦?要不要重發,要不要把訊息存起來?頭髮都白了啊!
如果使用 mq,a 系統產生一條資料,傳送到 mq 裡面去,哪個系統需要資料自己去 mq 裡面消費。如果新系統需要資料,直接從 mq 裡消費即可;如果某個系統不需要這
訊息中介軟體 MQ
1 為什麼需要訊息佇列mq 因為在高併發環境下,由於來不及同步處理,請求往往會發生阻塞,比如 大量的insert,update語句請求同時到達mysql,直接導致無數的行鎖鎖表,甚至最後的請求會堆積過多,從而觸發too many connections錯誤。通過使用訊息佇列,可以非同步的處理請求,從...
MQ訊息中介軟體
mq是message queue,就是訊息佇列。是進行通訊的中介軟體產品,可以把訊息佇列比作是乙個存放訊息的容器,呼叫的方法就是訊息,把方法存到佇列中然後從佇列中取出方法去執行。目前使用較多的訊息佇列有activemq,rabbitmq,kafka,rocketmq。訊息佇列的作用有非同步 削峰 解...
訊息中介軟體MQ
訊息中介軟體利用高效可靠的訊息傳遞機制進行平台無關的資料交流,並基於資料通訊來進行分布式系統的整合。通過提供訊息傳遞和訊息排隊模型,它可以在分布式環境下擴充套件程序間的通訊。對於訊息中介軟體,常見的角色大致也就有producer 生產者 consumer 消費者 訊息佇列中介軟體是分布式系統中重要的...