我已经使用了Web服务(带有异步回调的WCF)。现在,我正在学习消息传递队列。当我们更喜欢使用消息队列而不是Web服务时
例如:如果我实现了异步Web服务(带有异步回调的WCF或异步REST服务),我可以请求一些东西,与此同时,我可以继续进行其他操作。那么什么时候我们比异步Web服务更喜欢Message Queue?。
有许多原因可通过异步Web服务或REST通信模式使用消息队列:
重放失败的传输:由于发送服务必须直接调用消费服务,因此失败的数据传输可能很难处理。即使个别服务出现故障,消息队列也会保留消息,这使服务在备份后即可开始读取队列中的消息。
异步协议:虽然您可以进行异步HTTP调用,但是消息队列在protocol level处是异步的,这使它们更轻巧,并且在包含大量小消息的体系结构中效率更高。正在交换。
[在决定在RESTful通信模式和消息队列之间使用时也要注意一些common misunderstandings。