我有一个与外部资源通信的数据流作业。问题是这些外部资源比数据流作业慢,这导致外部资源总是饱和。我需要一些表单来减少从PubSub读取的消息数量或减少作业吞吐量以减少外部资源的流量。
感谢。
答案 0 :(得分:2)
我们目前不支持限制原语(例如“确保此DoFn在整个作业中每秒最多限制为X次调用”),但我们知道这是一个重要的用例,很可能会支持它迟早。
同时,正如Ryan所说,最好的办法是限制工人和工人线程的数量:指定--numWorkers
(如果使用自动缩放,则指定--maxNumWorkers
)和--numberOfWorkerHarnessThreads
。但请注意,这将导致创建积压的输入消息,而不是丢弃它们。在你的用例中很难说哪个更好。