И что лучше использовать для микросервисной архитектуры. Где запрос напрявляется в нужный микросервис?
В гугле чепуху только нашёл.
Есть ещё такой фреймворк https://moleculer.services/
Спасибо, но я хочу одно из двух)
Потому что на Koa.JS писать хочу
очевидно, что один управляет сообщениями а другой задачами, разница есть посмотри модный https://github.com/OptimalBits/bull
модный и я его использую, но че то факт того что он сделан полукостылем через редис такое себе
если костыль это редис, то всё зависит от задач, при микросервисной архитектуре со сколько нибудь серьёзной нагрузкой вполне оправдано. при использовании внутри одного процесса избыточно возможно стоит посмотреть в сторону https://zeromq.org/
а ещё лучше заюзать https://nodejs.org/api/worker_threads.html
если мне нужно лийнеризировать задачи (т.е. строго выполнять по 1 задаче в момент, и строго в том порядке в котором они пришли) то вроде воркер треды особо не подойдут под это, без костылей если
если хочешь не редис, а например монгу, то попробуй это https://github.com/agenda/agenda
сходу не дам решения выстроить задачи, прикрепить идентификатор к задаче, скормить тредам, получить очередь идентификаторов тредов > идентификатор задач, выдернуть данные в нужном порядке
ну вот чтобы это все не городить я просто в очередь bull все запихнул и 1 воркера сделал который хавает эти задачи)
вижу реализацию в 10-20 строк кода
А Булл зачем? Хранить очередь между перезапусками?
На всякий случай: вместо ∅mq я бы предложил использовать nanomsg. Либа от того же автора, переработанная с учётом его опыта с ∅mq (не всегда удачного), и более полная и универсальная
вы об этом ? https://nanomsg.org/
Обсуждают сегодня