【发布时间】:2020-06-01 22:58:28
【问题描述】:
我们的系统要求表明我们需要构建一个稍微不寻常的生产者-消费者处理系统。想象一下,我们有多个数据流,我们每 X 秒拍摄一个快照并将其放入队列中进行处理。流数不是恒定的。我们拥有的客户越多,我们需要处理的流就越多。同时,我们不需要处理所有拍摄的快照。如果我们有太多的客户并且我们无法实时处理所有项目,我们宁愿跳过旧的快照并只处理最新的快照。
因此,正如我所见,可以通过在每个流的队列中只保留一个项目来满足要求。如果有一个新的快照,而前一个快照仍然存在,我们需要使用流 id 作为键来替换它。 是否可以通过服务总线队列或类似的东西来实现这种行为?或者也许研究一下 Redis 等其他解决方案是有意义的?
【问题讨论】:
标签: message-queue azureservicebus