170 похожих чатов

Ребят, чем отличаются брокеры сообщений (RabbitMQ) от очередей задач (Celery)?

И что лучше использовать для микросервисной архитектуры. Где запрос напрявляется в нужный микросервис?

В гугле чепуху только нашёл.

17 ответов

11 просмотров

Есть ещё такой фреймворк https://moleculer.services/

Пользователь-61002 Автор вопроса

Спасибо, но я хочу одно из двух)

Пользователь-61002 Автор вопроса

Потому что на 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 (не всегда удачного), и более полная и универсальная

Похожие вопросы

Обсуждают сегодня

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
32
Хотел бы спросить у знающих, правильную ли я выбрал книгу для начала изучения ассемблера Юрова В.И ? Или есть более лучшие книги для начала обучения?
Botsman
25
Книга Юрова В.И пойдёт для обучения?
Botsman
24
$params = [ 'formid' => 'feedbackForm', 'formTpl' => '@CODE: <form class="form-validate" data-id="ajax_form"> <fieldset class="margin-bottom-md"> ...
Pathologic
1
> Примечательно, что новый владелец удаляет из GitHub любые жалобы, указывающие на подозрительную активность или смену владельца, и, видимо, рассчитывает на то, что пользовате...
Alex Sherbakov
1
Подскажите пожалуйста, а я могу вот такую штуку использовать? rpc, только реализованное в реббите https://www.rabbitmq.com/tutorials/tutorial-six-php ( или https://habr.com/ru...
Artyom
11
а мы ещё не созрели до того, чтобы создать отдельный чатик про настройку редакторов?
Cheese Syrowiecki
16
И ещё вопрос: можно ли типа как на дос как-то запариться и с помощью прерываний выводить текст, вместо функции printf ?
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
34
Всем привет! У меня почему-то по-разному отображается TListView в Debug и Release режимах (FireMonkey)! При запуске под Win приложения TListView заливается программо. в Debug ...
Александр COM
8
Ладно, ещё тупого спрошу. Код должен банально вывести значение регистра на консоль, на деле же не выводя ничего, просто оставляя нерабочую консоль (открыта, ничего не написан...
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
25
Карта сайта