本文介绍了如何对Google Cloud发布/订阅队列进行限速的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用Google的发布/订阅队列来处理服务之间的消息。部分订阅者接入限速接口
例如,我正在将街道地址推送到一个酒吧/订阅主题上。我有一个云功能,它订阅(通过推送)该主题,并调用外部限速地理编码服务。理想情况下,我的街道地址可以毫不迟疑地放到主题上,主题将保留这些消息--以限速方式呼叫订阅者。
是否有配置这样的延迟或消息分发速率限制的方法?增加Ack窗口并没有真正的帮助:我设计了这个系统来防止长时间运行的函数。 推荐答案解决问题的一种方法是使用:async.queue
您可以在其中管理速率限制的并发属性。
// create a queue object with concurrency 2 var q = async.queue(function(task, callback) { console.log('hello ' + task.name); callback(); }, 2); // assign a callback q.drain = function() { console.log('all items have been processed'); }; // add some items to the queue q.push({name: 'foo'}, function(err) { console.log('finished processing foo'); }); // quoted from async documentation更多推荐
如何对Google Cloud发布/订阅队列进行限速
发布评论