我有一个pubsub主题,只有一个订阅,而且有两个不同的订阅者正在使用它。 使用stackdriver,我可以看到订阅有大约1000条消息。 每个订阅者运行以下轮询循环:
ng-if="!$last"
我的问题是轮询速度慢 - 即使我有大量的邮件等待轮询,我每次只收到几条邮件。此外,许多回复都没有任何消息。根据stackdriver,我的消息拉速率约为1.5消息/秒。
我尝试使用client = pubsub.Client()
topic = client.topic(topic_name)
subscription = pubsub.Subscription(subscription_name)
while True:
messages = subscription.pull(return_immediately=True, max_messages=100, client=client)
print len(messages)
# put messages in local queue for later processing. Those processes will ack the subsription
,它稍微提高了一点 - 拉速增加到~2.5信息/秒,但仍然 - 不是我期望的速度。
任何想法如何提高拉动率?任何pubsub民意调查最佳做法?
答案 0 :(得分:1)
为了提高您的提款率,您需要一次提供多个未完成的提款请求。多少取决于您发布的地点的速度和数量。您在任何时候都至少需要一些优秀的人才。只要其中一个返回,就创建另一个拉取请求。这样,每当Cloud Pub / Sub准备好向您的订阅者发送消息时,您就会有等待接收消息的请求。