Как организовать межпроцессорное взаимодействие на nodejs?
Всем привет. С Nodejs только знакомлюсь до этого писал на php. Есть N количество воркеров которые разгрибают очередь из rabbitmq. В очереди приходит задача обращения по api и сам токен. На все воркеры есть 4 токена и на каждый токен идет ограничение по 2 запроса в секунду. Как это можно организовать? На php делал с мопощью семафоров и Shared Memory (shm_attach). Все работает отлично только нужно держать массивы по 5м значений, а у php это отжирает весьма больше озу чем на ноде.
С кроликом опыт тоже небольшой. В основном для распаралеливания использовал но идея интересная. Буду очень благодарен если распишите. А если сразу в очередь пихнуть 100 задач я так понимаю они практически одновременно и умрут? Или каждая через 500мс будет умирать?
tikhonov_alexander нет, я ерунду написал. Не будет так работать, ты прав. Если 100 сообщений попадет в очередь одновременно, то они одновременно через 500 мс и попадут в слудующую очередь.
Как вариант, что бы избежать шаринг состояния между воркерами можно поставить такой костыль:
`messageHandler` естественно то же должен возвращать промис.
Код пойдет дальше только после выполнения обоих промисов.
Надо предусмотреть обработку ошибок.