我们正在使用Google数据流创建管道。我们的一个案例是调用第三方服务来保存数据。
问题是这个第三方服务很慢(保存很复杂),但它可以处理许多并发连接。
我们发现,如果我们在ParDo中创建一个ThreadPoolExectutor(100)并进行异步调用而不是同步调用,我们每秒可以节省更多的数据。但这种做法并不好。
使用Dataflow有什么好方法?显然,我们可以使用100名工作人员运行Dataflow,但这不是一个非常便宜的解决方案 - 尤其是当每个工作人员使用5%CPU时。
你对我有什么想法吗?我们考虑过将PubSub用于此服务,但它会使我们的解决方案变得非常复杂。
在直接跑步者中有一个targetParallelism参数,在dataflow runner中有类似的内容吗?