【发布时间】:2020-01-25 00:30:49
【问题描述】:
我正在使用 spring-boot 创建一个批量视频处理系统。在这里,用户将通过 xlsx 表提供所有视频相关信息,我们将在后端处理视频。我正在使用 Rabbitmq 对请求进行排队。 假设用户上传了一张有 100 行的表格,那么 Rabbitmq 队列中将有 100 条消息。在后端,我们正在自动扩展订阅者(服务器)。因此,我们将从仅一个订阅者开始,根据负载(队列中的消息数量),我们将扩展到 15 个订阅者。 但是我们的生产者非常快,它将所有消息分配给我们的第一个订阅者(在其他订阅者出现之前),并且我们所有的新订阅者都没有从队列中获取任何消息。 如果在生产者开始推送消息之前所有订阅者都可用,则它将消息分配给所有服务器。
请提供一个解决方案,说明我们的新订阅者如何从之前生成的队列中提取消息。
【问题讨论】: