是否可以使用google-cloud-pubsub客户端强制执行稳定的轮询率?我想避免出现以下情况:发布率出现峰值,拉取请求率也趋于增加。
客户端通过设置FlowControl
消息来提供maxOutstanding
设置。据我了解,它设置了拉动操作期间的最大批处理大小。
我想了解如何创建恒定的拉速,例如1000 RPS。
答案 0 :(得分:1)
Message Flow Control可用于设置在给定时间处理的最大消息数(即,对于python客户端,设置max_messages),这间接设置了接收消息的最大速率。 虽然它不允许您直接设置每秒接收的确切消息数(这取决于处理消息所花费的时间和正在处理的消息数),但是它应该避免出现峰值的情况发布率。
如果您确实需要设置每秒接收消息的速率,则AFAIK不会直接在客户端库上提供它,因此您必须自己使用asynchronous pull并使用一些计时器来实现它邮件以您希望的速率。