场景是这样的,有一个专用的图片处理服务器,用来发请求,下载图片,然后处理图片,处理完后回调业务服务器。业务服务器则负责向图片服务器发处理图片的任务和接收回调。 但是如果不做任务并发控制的话,图片处理服务器可能会不断接到大量处理图片的任务,担心会有负载的问题,不知道这个担心对不对?
所以后来的想法是把任务都加进 Sidekiq 里,然后用 Sidekiq 的频率设置来限定图片服务器同时处理的任务数。但搭建和维护 Sidekiq 又嫌麻烦,所以现在的想法是想用 AWS 或者阿里云的队列消息一类的云服务来做任务控制,但看了他们的文档好像都没有频率限制这么一说,不知道大家有用类似消息队列来做任务并发控制的么?
而且每一张图片在处理完后,又会有别的后续任务,也在图片服务器上处理,如果设置了优先级,那么会不会导致高优先级的任务一直在跑,低优先级的任务就一直没有机会被处理?
菜鸟,之前没有这样的经验,请教,像这种情况,通常应该用何种方案去控制图片服务器的并发任务数?