gpt4 book ai didi

web-services - 如何决定使用消息传递(例如 RabbitMQ)还是使用 Web 服务进行后端组件交互/通信?

转载 作者:行者123 更新时间:2023-12-05 01:00:11 25 4
gpt4 key购买 nike

在开发后端组件时,我需要决定这些组件将如何交互和相互通信。特别是,我需要决定使用(RESTful、微)Web 服务与消息代理(例如 RabbitMQ)是否更好。是否有某些标准可以帮助决定对每个组件使用 Web 服务还是使用消息传递?

最佳答案

Eranda 在他的回答中涵盖了其中的一些内容,但我认为其中三个关键驱动因素是:

  • 您正在建模请求-响应类型的交互吗?
  • 你的交互可以异步吗?
  • 信息的发送者需要对接收者有多少了解?

  • 可以使用异步消息传递基础结构进行请求-响应类型的交互,但它显着增加了复杂性,因此通常请求-响应类型的交互(即发送方是否需要从接收方返回一些数据)更容易建模为 RPC/REST 交互。

    如果您的交互可以是异步的,那么可以使用 REST 交互来实现这一点,但如果您使用即发即忘的消息类型交互,它可能会更好地扩展。

    如果信息的提供者不关心谁在消费信息,那么异步消息交互也将更加合适。信息提供者可以发布信息,而该信息的新消费者可以稍后添加到系统中,而无需更改提供者。

    关于web-services - 如何决定使用消息传递(例如 RabbitMQ)还是使用 Web 服务进行后端组件交互/通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29825744/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com