1. 程式人生 > >MQ與webservice的區別,MQ的區別

MQ與webservice的區別,MQ的區別

mage 可能 如果 line 本地服務器 服務 tex 在那 com

Webservice 和MQ(MessageQueue)都是解決跨平臺通信的常用手段,兩者有哪些區別呢?

個人認為最本質的區別在於 Webservice近乎實時通信,而MQ卻通常是延時通信。 什麽意思呢? 因為webservice其實就是本地服務器程序調用遠程服務器上的方法,屬於兩者之間的交互,請求的時候需要等被請求的服務器做出回應後,另一端才會有所動作,也就是說,如果你請求的service服務器關閉了,或者中斷了,那麽你這邊肯定就得不到答復了,你的這次請求就算是打水漂丟失了。 而MQ 則相當於是多了一個中間件 技術分享圖片 我所發送的請求 都必須先傳達給 這個消息隊列組件,然後由這個消息隊列組件再去到另一個服務器上去請求,有了響應之後再 返回給 當初的請求程序,因為MessageQueue組件會把消息持久化放在本地,所以哪怕突然死機了,請求消息也是不會丟失的。 比如我們有些復雜的生成報表的請求,生成一張報表可能會相當繁雜,要這麽幾分鐘,那我們肯定不可能在那幹等,這時候就使用MQ,按這個請求報表的需求傳給MQ,等到接收程序處理完返回之後,我這邊會收到通知,這樣就比較好。 常見的MQ組件 包括MSMQ ,Apache ActiveMQ以及一些開源mq等。 MQ的作用是削峰和解耦?

MQ與webservice的區別,MQ的區別