2

我正在开展一个项目,该项目提供一些 API 来获取有关我们合作伙伴产品的信息。

对我们网站的每个搜索请求都必须向合作伙伴网站发出其他请求,收集和汇总产品数据,因此可能需要很长时间。

目前,由于阻塞 REST 服务,我们遇到了一些性能问题,我正在寻找更好的解决方案来组织我们的产品搜索平台。

正如我所见,ServiceStack RedisMQ 可以为长时间通信提供异步解决方案。但是我有一些问题(因为我对 MQ 没有太多经验):

  1. 如何用 MQ 替换 REST 服务
  2. 我如何从网页上的 MQ 获取信息(通过 REST,我可以使用任何合适的 JS 库,如 jQuery 并发出 ajax 请求)
  3. 我如何为我的服务组织一个 MQ API,而不是我们的客户(在他们的站点上)可以使用的 REST。
4

1 回答 1

1

我不确定您使用的是什么语言,所以我会尝试与语言无关。

我建议您应该让您的应用程序“流”回数据,而不是等待阻塞的 restful 调用返回。所有合作伙伴“获取”必须作为异步回调执行,当结果到达时,您可以写回流。

恕我直言,切换到消息队列不会真正为您买任何东西。在最基本的形式中,将消息队列视为分布式计算环境中的通信通道。传输机制可能会有所不同 - 但主要是队列是点对点通信机制。

于 2013-07-30T05:56:45.063 回答