webservice 服务器无法处理请求_Message Queue与WebService比较
最近在使用IBM Websphere Message Queue,與WebService相比,同樣是跨平臺(tái)的通信方式,那么各種有什么優(yōu)勢(shì)呢?
Message Queue屬于比較重量級(jí)的應(yīng)用,在規(guī)范化的企業(yè)流程中用的比較多。如果企業(yè)有很多部門(mén),部門(mén)都有自己的系統(tǒng),那么不同的系統(tǒng)之間的集成通信,Message Queue是很好的選擇。MQ一般都做為企業(yè)級(jí)IT應(yīng)用的中間件存在,有很多企業(yè)是作為標(biāo)準(zhǔn)IT基礎(chǔ)結(jié)構(gòu)存在的。在市面上常見(jiàn)的MQ中間件有IBM websphere message queue service,Oracle Advanced Queuing,Microsoft Message Queue(MSMQ),Apache ActiveMQ等
如果使用WebService的話,就要寫(xiě)很多的WebService的代碼,去建立這些WebServcie,然后暴露出這些接口,相互之間調(diào)用,很費(fèi)事。但是如果使用Message Queue的話,只要把這個(gè)中間件的服務(wù)器搭建起來(lái),只要在需要的時(shí)候加入不同的Queue Manager就可以了,然后就可以訪問(wèn)了,就可以作為不同系統(tǒng)之間的橋梁了。
長(zhǎng)耗時(shí)的報(bào)表,這個(gè)在程序中經(jīng)常遇見(jiàn),處理海量數(shù)據(jù)時(shí),可能生成一個(gè)報(bào)表需要5分中或是更長(zhǎng)的時(shí)間,客戶不能在線實(shí)時(shí)等待,報(bào)表處理比較耗費(fèi)資源,不能同時(shí)處理很多請(qǐng)求,甚至同時(shí)只允許處理一個(gè),這時(shí)就可以使用MQ。客戶端將報(bào)表請(qǐng)求和一些必要的報(bào)表?xiàng)l件放到Queue中,報(bào)表由另一個(gè)服務(wù)一個(gè)一個(gè)的處理,處理好后再給用戶發(fā)一個(gè)消息(MSN消息,或mail等)用戶再在瀏覽器或其他報(bào)表瀏覽器中查看報(bào)表。
在線商店,在客戶下訂單的過(guò)程后,系統(tǒng)只需做減庫(kù)存、記錄收貨人信息和必要的日志,其他的必須配送處理、交易統(tǒng)計(jì)等其他處理可以不同時(shí)完成,這時(shí)就可以將后續(xù)處理消息放入Queue中,讓另一臺(tái)(組)服務(wù)器去處理,這樣可以加快下訂單的過(guò)程,提高客戶的體驗(yàn);
WebService通常是實(shí)時(shí)性要求較高,Client端向Server端發(fā)出請(qǐng)求后,這是一個(gè)短連接,一個(gè)Http請(qǐng)求,這個(gè)請(qǐng)求發(fā)出后,Client端就會(huì)一直等到獲取到這個(gè)結(jié)果。但是使用MQ的話,因?yàn)橛辛酥虚g的這一塊區(qū)域,當(dāng)請(qǐng)求發(fā)出后,Client端可以繼續(xù)去干別的事情。等到一段時(shí)間以后再去中間件的存儲(chǔ)區(qū)域上查看一下有結(jié)果了么,有了結(jié)果就取出來(lái),沒(méi)有的話就再等會(huì)再看。
MessageQueue在于容錯(cuò)處理保持?jǐn)?shù)據(jù)一致性上有很大的優(yōu)勢(shì)。
總結(jié)
以上是生活随笔為你收集整理的webservice 服务器无法处理请求_Message Queue与WebService比较的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ultraos win10启动盘_Ult
- 下一篇: 抗侧力构件弹性位移如何计算_说一说现在很