Size: a a a

NestJS — русскоязычное сообщество

2020 April 03

YS

Yaroslav Shelomentsev in NestJS — русскоязычное сообщество
Dilame Bowzee
Если вы уже используете rmq и счастливы с ним - не надо пробовать bull) Это downgrade даже в плане стабильности
👍 а обертка при этом nestjsx/nestjs-amqp?
источник

И

Илья | 😶 in NestJS — русскоязычное сообщество
Yaroslav Shelomentsev
разбиваем монолит, например - банальные очереди на вебхуки. есть триггеры, на которые надо "отстукивать" по http клиентам, сейчас это вместе с выполнением триггера, нужно отдельно сделать. т.е. условно таска как раз на "попробовать что-то новое", гарантии bull устраивают, но очень много непонятных штук по поведению, плюс на офф репо (OptimalBits/bull) редирект на taskforcesh/bullmq.

вопрос - почему nest форсит bull и не дает альтернативы в доке по очередям, у микросервисов же есть rabbit и прочее
Завез в проект к себе rmq и все норм
источник

И

Илья | 😶 in NestJS — русскоязычное сообщество
Выше сообщение норм по поводу bull
источник

DB

Dilame Bowzee in NestJS — русскоязычное сообщество
Yaroslav Shelomentsev
👍 а обертка при этом nestjsx/nestjs-amqp?
За обёртку не скажу, я не использовал его с нестом. Не приходилось. Но обёртка по большому счёту не так важна, хоть amqplib в провайдеры запихните и используйте низкоуровненый апи.
источник

LK

L K in NestJS — русскоязычное сообщество
Yaroslav Shelomentsev
разбиваем монолит, например - банальные очереди на вебхуки. есть триггеры, на которые надо "отстукивать" по http клиентам, сейчас это вместе с выполнением триггера, нужно отдельно сделать. т.е. условно таска как раз на "попробовать что-то новое", гарантии bull устраивают, но очень много непонятных штук по поведению, плюс на офф репо (OptimalBits/bull) редирект на taskforcesh/bullmq.

вопрос - почему nest форсит bull и не дает альтернативы в доке по очередям, у микросервисов же есть rabbit и прочее
смотри rabbitmq - брокер сообщений
из плюсов
если один из консюмеров выходит из строя сообщение не потеряется
можно заюзать SSL
легкая кластеризация
удобный роутинг сообщений
транзакционность
но
rabbitmq сложнее администрировать

redis ( bull ) - очередь, а если очередь
то ты можешь отменить таску
запустить отложенно и что там еще в доке написано
прост в настройке
из минусов
так это может не держать большой нагрузки
роутинг не такой гибкий как у rabbitmq
источник

YS

Yaroslav Shelomentsev in NestJS — русскоязычное сообщество
L K
смотри rabbitmq - брокер сообщений
из плюсов
если один из консюмеров выходит из строя сообщение не потеряется
можно заюзать SSL
легкая кластеризация
удобный роутинг сообщений
транзакционность
но
rabbitmq сложнее администрировать

redis ( bull ) - очередь, а если очередь
то ты можешь отменить таску
запустить отложенно и что там еще в доке написано
прост в настройке
из минусов
так это может не держать большой нагрузки
роутинг не такой гибкий как у rabbitmq
спасибо! мы rabbit в основном используем как очередь) а bull очень манит порогом вхождения, буквально за вечер удалось бОльшую часть завести из того что хотели. по поводу потери сообщения - не уверен, но вроде бы сообщение не теряется и у bull при таком сценарии...
источник

YS

Yaroslav Shelomentsev in NestJS — русскоязычное сообщество
в bull еще смущает что дока (у актуальной либы) недописана, т.е. он явно еще сыроват, но реально все прям просто/понятно, завел-поехал...
источник

LK

L K in NestJS — русскоязычное сообщество
Yaroslav Shelomentsev
спасибо! мы rabbit в основном используем как очередь) а bull очень манит порогом вхождения, буквально за вечер удалось бОльшую часть завести из того что хотели. по поводу потери сообщения - не уверен, но вроде бы сообщение не теряется и у bull при таком сценарии...
когда дойдет дело до отмены таски или отложенного запуска будет беда
и все эти плагины которые в инете есть, допустим, для отложенной отправки - это костыль
ибо для другого rabbit
источник

YS

Yaroslav Shelomentsev in NestJS — русскоязычное сообщество
L K
когда дойдет дело до отмены таски или отложенного запуска будет беда
и все эти плагины которые в инете есть, допустим, для отложенной отправки - это костыль
ибо для другого rabbit
да дошло уже) отложенная таска delayer, а отмена - не буду плохого рассказывать))))))
источник

LK

L K in NestJS — русскоязычное сообщество
Yaroslav Shelomentsev
да дошло уже) отложенная таска delayer, а отмена - не буду плохого рассказывать))))))
я кодга-то для очередей думал втащить rabbitmq ((
а потом осознал свою ошибку, хорошо что на этапе ресерча
источник

LK

L K in NestJS — русскоязычное сообщество
всякие интересные личности костылируют и статьи штампуют в бложиках, а потом люди ведутся
бизнес страдает потом
источник

YS

Yaroslav Shelomentsev in NestJS — русскоязычное сообщество
L K
всякие интересные личности костылируют и статьи штампуют в бложиках, а потом люди ведутся
бизнес страдает потом
ну, вот мы пострадали ~год, но альтернативы в итоге пока что не нашли, и экспа не позволяет админить rabbit нормально, поэтому почти при любой внештатке - дроп queue. и тут попался bull 🙂
источник

YS

Yaroslav Shelomentsev in NestJS — русскоязычное сообщество
вообщем спасибо всем! думаю переведем часть, попробуем) постараюсь не забыть отписать, ибо реального юза я так понимаю ни у кого нету))
источник

АК

Алексей Кореньков in NestJS — русскоязычное сообщество
Добрый вечер.
Подскажите, пожалуйста.
Использую HttpService и отправляю пост запрос.
Примитив:
async create(createDto): Promise<CreatedDto> {
       const order = await this.createOrder(createDto);
       this.sendOrderInService(order)
           .subscribe(response => {
               order.status = true;
               order.save();
           });
       return new CreatedDto(order);
}
Нужно, чтобы только когда в сервисе создался заказ вернулся, ответ с Dto-ошкой. Как такое провернуть, чтоб не менять интерфейс метода (не изменять возвращаемый тип?
С Observable дел до этого не имел вообще.
Возможно очень туплю и достаточно добавить return new CreatedDto(order); в
subscribe
но он жеж вернет тот же Observable
источник

LK

L K in NestJS — русскоязычное сообщество
Алексей Кореньков
Добрый вечер.
Подскажите, пожалуйста.
Использую HttpService и отправляю пост запрос.
Примитив:
async create(createDto): Promise<CreatedDto> {
       const order = await this.createOrder(createDto);
       this.sendOrderInService(order)
           .subscribe(response => {
               order.status = true;
               order.save();
           });
       return new CreatedDto(order);
}
Нужно, чтобы только когда в сервисе создался заказ вернулся, ответ с Dto-ошкой. Как такое провернуть, чтоб не менять интерфейс метода (не изменять возвращаемый тип?
С Observable дел до этого не имел вообще.
Возможно очень туплю и достаточно добавить return new CreatedDto(order); в
subscribe
но он жеж вернет тот же Observable
или делать observable toPromise
или везде юзать Observable
источник

АК

Алексей Кореньков in NestJS — русскоязычное сообщество
L K
или делать observable toPromise
или везде юзать Observable
Спасибо!
Не знал о возможности observable toPromise, сейчас почитаем.
источник

ВС

Валера Солдатов in NestJS — русскоязычное сообщество
И добрый веееечееер
источник

ВС

Валера Солдатов in NestJS — русскоязычное сообщество
Я не нарошно, просто совпало, доку читаю, я бесконееечно
источник

ВС

Валера Солдатов in NestJS — русскоязычное сообщество
😂
источник

BB

Bugs Bunny in NestJS — русскоязычное сообщество
подскажите наиболее адекватный способ воткнуть seedы в typeorm
источник