面向服務的體系結構(SOA)——(5)關於MEP(Message Exchange Patterns)

SOA中的MEPJavaEE中的JMS相似,固然了就應該是相似的,由於都是關於消息方面的。一個是對系統架構當中消息的解決思路,一個是針對Java平臺中的消息的具體解決辦法(嚴格說不是具體的,只是提供了接口而已)或者說和上面分析BPMJpbm同樣,前者是後者的特例,因此後者有的特徵前者大部分都有。就像JMS規範中描述的那樣消息無非也就是請求與應答,這裏有兩種基本的模式其實很簡單啦。第一種就是請求/應答,第二種是請求不該答(單程)。若是兩次單程消息的傳遞能夠相似的成爲一次請求/應答模式。可是他們仍是有區別的,單程的消息傳遞是沒有阻塞的,發送了就不須要發送者再去關係消息,而請求/應答是阻塞的,只要接受者沒有應答,那麼發送者就認爲消息沒有發送成功可能從新發送或者採起別的措施保證消息的安全到達。請求/應答的優點是面對的處理消息的對象是不變的。哪一種更好沒有定論須要根據實際業務去選擇。安全

基於上面的兩個基礎的MEP能夠演化出比較複雜的MEP。請求/回調,指的是相似Ajax的一種一步請求的應答模式,發送請求後表面上就不在關心消息可是實際上當應答到來後會採起相應的措施,即「回調」。發佈/訂閱,值得是相似RSS的模式發佈者負責把消息推送給已經訂閱的用戶,在SOA中接受消息的多是一個服務或者一個將多個服務組合到一塊兒的系統。架構

 

MEP中還有不少細節,好比對於錯誤消息的處理,好比各個服務模塊和ESB之間須要制定協議,那麼對於多層次協議的MEP的延遲處理等等。spa

相關文章
相關標籤/搜索