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

Всем привет! Может кто-то помочь с MassTransit? если у меня инициатор

процесса - http запрос, т.е шлюз отсылает месагу через IBus
затем (например, создал аккаунт в сервисе), мне нужно чтобы сервис отослал второму (нотификатору) сообщение, внутри DI сервиса (ну типо что вы зарегистрированы вот ваш логин и пароль)

есть 3 варианта - IBus, ISendEndpointProvider и ConsumeContext, первый используется для инициализации бизнес процесса, второй как я понимаю универсальный и третий в скоупе консьюмера (чтоб это все атомарно выглядело, полагаю)

с одной стороны отослать емайл - это тоже бизнес процесс, а значит стоит использовать IBus, с другой стороны можно использовать ISendEndpointProvider - может кто подсказать пожалуйста у кого какие практики были?

и второй вопрос - почему-то здесь очень странно работает дублежка сообщений во все очереди
масстранзит создает кучу обменников, где на обменник (рутовый) подписываются обменники сервисов
и чтобы 1 сообщение продублировать во все очереди надо очень люто колхозить (изменяя например название эндпоинта), хотя в rabbitMq это делается автоматически и проще - достаточно подписаться еще одной очередью на конкретный обменник типа fanout

кто-то сталкивался? по логике без этой хрени невозможно написание микросервисов

5 ответов

29 просмотров
Никита- Автор вопроса

с этим кто-то сможет помочь или нужно на тостер идти?

Схему твоих сервисов не понял. Отправляй все через IBus, если у тебя зарегано все дефолтно, то он сам разберется, где находится. Что за дублежка сообщений? Ты про события? Если ты хочешь отправлять сообщение всем сервисам, то каждый сервис должен создать свою очередь.

Никита- Автор вопроса
βλαδιμιρ
Схему твоих сервисов не понял. Отправляй все чере...

вот с последним проблема - как ее в масстранзите создать? именно очередь, мне лишние обменники там не нужны то что он разберется это я знаю, тут речь из доков через rabbitmq management смотрел, щас найду скрины

Никита
screenshot вот с последним проблема - как ее в масстранзите с...

А ты _bus.Publish используешь, отправляешь ивент, а консьюмеры у тебя не все получают его? Покажи как ты регаешь консьюмеры в разных сервисах.

Никита- Автор вопроса

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта