Google PubSub throttling



我有一个数据管道链,通过管道特定的Pub/Sub主题相互通信。

[pipeline #1] -> [pipeline #2] -> [pipeline #3] -> ...

每个管道都是完全无状态的,可以根据各自的pub/sub队列大小水平扩展。

每个管道都有自己的吞吐量。
pipeline #2使用第三方API。这个API有每小时/每天的费率限制。

有时我的工作负载会出现峰值。除API管道外的所有管道都可以扩展以处理工作负载。但不是API管道。它最终会赶上来,但不是马上。

是否有办法将发布/订阅主题/订阅吞吐量降低到每小时/天的特定消息数量?

我很确定答案是否定的。如果是这样,我还有什么其他选择?

你是对的,答案是否定的。Cloud Task具有这种节流特性(命名为速率限制)。

一个解决方案设计可以是:

  1. PubSub调用下一步
  2. 处理(云功能/云运行/其他)堆栈请求在云任务
  3. 云任务调用下一步
  4. 调用第三方API的处理(云函数/云运行/其他东西)

很脏,但是你在Google Cloud上没有其他内置解决方案。

相关内容

  • 没有找到相关文章

最新更新