Nie twierdze, ze byc moze uzylem zlego narzedzia do zadania, ale jak sobie pomyslalem o tym co chce osiagnac, to pierwsze co przyszlo mi na mysl to: albo zrobic to samemu albo uzyc rabbitmq, bo znacznie skroci mi czas developmentu, a efekt bylby bardzo podobny (tylko gorszy, od tego sa narzedzia). Wiec powiem co mniej wiecej chcialbym osiagnac:
Mamy pewne encje, zalozmy ze jest ich 5. One sa naszymi workerami, czekaja na robote ktora przychodzi z kolejki. Encje maja dostawac prace rownomiernie, niewazne ile czasu im to zajmie. Czyli jesli mamy 10 rzeczy do wykonania, to kazda z tej encji ma wykonac po 2 roboty.
Idealnie pasuje mi tutaj uzycie rabbitmq: leci do kolejki, tworze 5 workerow z round-robin i jest super, ale problem pojawia sie kiedy bede chcial je restartowac, a publisher wysle juz kilka wiadomosci.
Podajac przyklad poprzedni. Nie mam gwaracji ze kazdy worker zrobi po 2 roboty, bo bedzie taka sytuacja, ze jeden worker zrobi 3-4. Naprawde, to taki wymysl? Po prostu brakuje mi tutaj jakies flagi typu "konsumuj jesli podlaczy sie X consumerow"