开发与 Shopify 商店同步价格的高效流程

问题描述 投票:0回答:1

我正在开发一个项目,需要在我的应用程序和几个 Shopify 商店之间同步价格。在我的应用程序中,每个用户都可以链接他们的 Shopify 商店,当我的应用程序中的产品价格发生变化时,系统会通过 Shopify API 向商店发出更新价格的请求。

但是,每个 Shopify 商店都有速率限制,这意味着我们需要在每个商店的请求之间添加一些毫秒的延迟,以避免超过此限制。

这个过程的想法是并行同步至少 10 个商店。我正在考虑使用带有 RabbitMQ 或 Kafka 的队列来在并行处理时保持速率限制受控。

问题是同步请求可以随时到达,这意味着一个队列可能有来自不同用户的请求,从而无法控制每个存储的速率限制。

有效处理此问题并避免“请求过多”错误的最佳方法是什么?

感谢您的帮助!

architecture synchronization shopify message-queue
1个回答
0
投票

据我从 Shopify 文档中了解到,REST API 速率限制是基于应用程序和商店的组合应用的。这意味着,如果对一个商店的呼叫施加速率限制,则不一定会影响另一商店的速率限制。即使您从同一来源(应用程序)调用它们。 因此,您可以同时推送到独立商店,仅确保您保持在每个特定商店的速率限制内。

您选择的队列方法听起来很合适;但是,如果您同时将所有请求入队和出队,则达不到目的,并且可能仍会受到 API 速率限制的阻止。避免这种情况的一种方法是在发送到同一存储的后续消息之间引入轻微的延迟,例如,可以使用 RabbitMQ

中的预定消息来完成。 参考:

使用 RabbitMQ 调度消息

© www.soinside.com 2019 - 2024. All rights reserved.