因为我们都知道像rabbitMQ这样的消息总线主要用于异步消息传递,因此标准接近是在公共汽车上发布和发布消息,而不用担心谁会处理发布的消息或何时。但是我正在考虑我们的开发团队中有关消息同步处理的最新讨论:情况是将消息发布到服务总线,并且作为发布者,我想等待任何订阅者处理消息并将结果返回给我 - 因此它看起来像而是作为请求 - 响应模型。我现在正在考虑一个类似于这个模型中性能下降的问题。你怎么看?何时使用异步和何时同步?什么是权衡?RabbitMQ同步消息传递的优缺点
0
A
回答
0
同步消息传递是可能的,但影响可扩展性。如果发布商不得不等待其收件人回复,那么在任何给定时间,它都会受到限制。
但是,您可以使用异步消息传递实现请求 - 响应。在RabbitMQ中,您通过Remote Procedure Call (RPC)模式执行此操作。简而言之,您的发布商发布消息,但不会等待回复;在此期间它可以继续做其他事情。发布者确实记录了它,通过在消息上添加CorrelationId并将其存储在本地。该消息最终到达消费者,消费者处理该消息,并在不同的队列上回应发行商。答复有相同的CorrelationId。当发布者收到答复时,它可以将该特定呼叫(通过CorrelationId)标记为已处理。
如果您愿意,您还可以使用CorrelatonId做其他事情,例如超时收到我们未收到回复后的消息。 30秒。
相关问题
- 1. 应用内消息传递与推送消息:优点和缺点
- 2. 在Node.JS中的RabbitMQ消息传递?
- 3. RabbitMQ的可靠消息传递
- 4. HTTP回调与消息传递的优缺点有什么区别?
- 5. 如何理解JMS中的“同步”和“异步”消息传递?
- 6. PHP/MySQL中的异步消息传递?
- 7. Qpid与Java的异步消息传递
- 8. 同时处理rabbitmq消息
- 9. 使用递归JavaScript函数进行同步的优点和缺点
- 10. RPC在消息传递方面有什么缺点?
- 11. .NET中的消息构造方法优点和缺点
- 12. 经纪和非经纪消息系统的优点和缺点
- 13. RabbitMQ - 将不带队列的消息传递给不同的队列
- 14. 传递消息到DLL的入口点
- 15. RabbitMQ中的日志消息传输
- 16. RabbitMQ重新传递被拒绝的消息?
- 17. Spring AMQP中的计划/延迟消息传递RabbitMq
- 18. 消息从RabbitMQ的信道传递到Java NIO通道
- 19. 如何让rabbitmq中的传递路径成为消息属性?
- 20. Spring消息传递:无法连接到GCP上的远程rabbitmq
- 21. 我如何让RabbitMQ重新传递未确认的消息?
- 22. 如何在后台和内容之间同步消息传递?
- 23. 在Safari扩展中传递同步消息
- 24. 使用JMS/WMQ可以实现同步消息传递?
- 25. 在chrome扩展中传递同步消息?
- 26. 同时处理RabbitMQ消息的Spring
- 27. 同步TCP消息
- 28. RabbitMQ的消耗优先
- 29. IPC使用数据库共享数据而不是消息传递有什么优点和缺点?
- 30. 同时在MPI中的所有节点之间传递消息
你能否提供请求 - 响应方式的示例代码? – Macko
你可以在我提供的链接中找到它。 – Gigi