部署 是否可以用 AWS 或者阿里云的消息队列来控制并发?还是应该用 Sidekiq?

Insub · 2016年04月12日 · 最后由 darkbaby123 回复于 2016年04月14日 · 2431 次阅读

场景是这样的,有一个专用的图片处理服务器,用来发请求,下载图片,然后处理图片,处理完后回调业务服务器。业务服务器则负责向图片服务器发处理图片的任务和接收回调。 但是如果不做任务并发控制的话,图片处理服务器可能会不断接到大量处理图片的任务,担心会有负载的问题,不知道这个担心对不对?

所以后来的想法是把任务都加进 Sidekiq 里,然后用 Sidekiq 的频率设置来限定图片服务器同时处理的任务数。但搭建和维护 Sidekiq 又嫌麻烦,所以现在的想法是想用 AWS 或者阿里云的队列消息一类的云服务来做任务控制,但看了他们的文档好像都没有频率限制这么一说,不知道大家有用类似消息队列来做任务并发控制的么?

而且每一张图片在处理完后,又会有别的后续任务,也在图片服务器上处理,如果设置了优先级,那么会不会导致高优先级的任务一直在跑,低优先级的任务就一直没有机会被处理?

菜鸟,之前没有这样的经验,请教,像这种情况,通常应该用何种方案去控制图片服务器的并发任务数?

通常 sidekiq 这种异步队列就好了,量特别大的场景通常做好分布式也能胜任了

concurrency 来设置并发数就行了。我一般不设置优先级。Sidekiq 其实是穷人版本的消息队列,个人理解。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号