在微服务中排队

时间:2019-06-12 12:46:31

标签: rabbitmq queue microservices

让我们想象一下,我们希望以这种方式清洗羊群,以便每只羊一次可以清洗一次-应该将这只羊的其他清洗任务排队。 我们还有一群牧羊人,可以一次清洗多只绵羊。 绵羊的数量非常多且易变(它​​们死了并且出生了……)。 清洁绵羊的请求是随机的,而且经常发出。

在这种方法中,牧羊人是微服务实例。

应使用哪种架构:

  • 确保只一次清洁绵羊
  • 一个牧羊人一次可以清洗多只羊
  • 同一只羊不能同时被多只牧羊人清洗
  • 如果同一只绵羊发送了多个清理任务,则会一次又一次地清理绵羊

到目前为止的解决方案:

  1. 在每个牧羊人的内存队列中-不起作用-多个牧羊人可以清洗同一只羊
  2. 像RabbitMQ这样的外部队列-迫使我为每只绵羊创建单独的队列-绵羊数量不定,将无法维护

还有其他想法吗?

0 个答案:

没有答案