>我使用了Web服务(带有异步回调的WCF)。现在我正在学习消息队列。何时我们可以首选消息队列而不是 Web 服务
例如:如果我实现了异步 Web 服务(带有异步回调或异步 REST 服务的 WCF),我可以请求一些东西,同时我可以继续执行其他操作。那么我们什么时候可以更喜欢消息队列而不是异步 Web 服务?
使用消息队列而不是异步 Web 服务或 REST 通信模式的原因有很多:
- 将发送方与使用者分离:发送数据的服务不会直接调用使用者以获取数据,这会将服务彼此分离。这使得以后更容易发展架构。
-
重播失败的传输:由于发送服务必须直接调用使用服务,因此失败的数据传输可能很难处理。即使单个服务出现故障,消息队列也会保留消息,这允许服务在服务备份后开始读取队列的消息。
异步 协议:虽然您可能能够进行异步 HTTP 调用,但消息队列在协议级别是异步的,这使得它们在交换大量小消息的体系结构中更轻、更高效。
在决定在 RESTful 通信模式和消息队列之间使用时,还要注意一些常见的误解。