我需要找到一种方法来限制RabbitMQ交付任务的内部API服务器。在
这是我的流程:
API客户端>;内部API>;RabbitMQ>;Celery(120名员工)>;外部API
API客户端向内部API发送Web请求,内部API处理请求,任务发送到RabbitMQ。任务持续时间可能从5秒到120秒,在某些情况下,任务开始排队,并以高于定义的速率发送到外部API,从而导致大量失败的请求。(约5%的失败请求)
每个请求都成为RabbitMQ任务。RabbitMQ在默认情况下以最快的速度传递任务,这使得队列中的任务在释放工作线程时以更快的速度被传递。(大于10个QPS)
问题:如何限制RabbitMQ的任务交付?在
版本:
可能的解决方案:
虽然这些解决方案可能有效,但并没有完全解决我的速率限制器的实现,也没有控制我的工人处理API请求的实际速率。在
目前没有回答
相关问题 更多 >
编程相关推荐