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

Коллеги, есть такой момент, подскажите. Вот есть сетка микросервисов. Каждый

про свою зону ответственности. И есть некоторое SPA приложение, которое работает одновременно с пачкой микросервисов. То есть оно само знает когда, куда и что нужно сделать. Когда надо в один сервис стукнутся а когда в другой. Нет кейсов про распределенные транзакции или чего то подобного. Ребята с команды SPA поднимают вопрос, что им не очень то и удобно. Они владеют инфой по каждому сервису, и сложность кода возрастает. Поэтому у них есть идея, организовать некий "еще один сервис" который как бы в себе с агрегирует все общение между сервисами внутри себя. Я вроде как то читал что такое вполне себе допустимо, и вроде как правильно. Но есть всякого рода риски, что теперь это третий сервис должен всегда следить за всеми изменениями в других сервисах. То есть по сути они предлагают переложить часть логики работы SPA в новый агрегационный сервис. Скажите плюсы и минусы, и стоит ли так делать или нет?

13 ответов

26 просмотров

backend for frontend, BFF

Alexander-Nazarov Автор вопроса

угу, спс, я помню что читал про такое.

Alexander Nazarov
угу, спс, я помню что читал про такое.

Это один из самых важных паттернов в микросервисной системе, ИМХО

Alexander-Nazarov Автор вопроса
Sergei Beilin
backend for frontend, BFF

у нас в целом даже речь пошла про шаринг кода между проектами. Забыл как называется гугловская штука.

bff, graphql federation и подобные штуки

Alexander-Nazarov Автор вопроса
Sergey P
bff, graphql federation и подобные штуки

ну это прям координально для нас все ломает. Если мы по bdd до этого не работали, и экспертизы нету, то прикинь сколько его придется внедрять везде. Графкл тоже по сути не очень нужен, потому что договоренность сложилась уже про рест и jsend форматы.

Alexander Nazarov
ну это прям координально для нас все ломает. Если ...

ну graphql federation это скорее на почитай подумать, это спокойно заменяется какими гейтвеями. просто как идею покрутить посмотреть.

Alexander-Nazarov Автор вопроса
Sergey P
ну graphql federation это скорее на почитай подума...

угу, это обязательно сделаю раз советы такие даете. Вот про применимость у нас это конечно большой вопрос. Н

Sergey P
ну graphql federation это скорее на почитай подума...

А можно вопрос, ты говоря про gql federation имел ввиду то, что у тебя 1 мкросервис в который ты обращаешься, а он уже сам понимает в какой Микросервис ему идти за нужной схемой или ты говорил про резолвинг схем одного Микросервиса на другой ? (Просто вторая штука рождает пробоемки)

lutik
А можно вопрос, ты говоря про gql federation имел ...

Первое, но схема тянется заранее. Обращение к gw, он знает кто отвечает за query(или конкретные поля внутри)/mutation/subscription

Andrii Dembitskyi
Первое, но схема тянется заранее. Обращение к gw, ...

Да, она уже в гейтвее находится, просто я на практике сталкивался со 2ым вариантом, но там еще поверх этого был прикручен rmq и получилось, что у вас 2 варианта общения между микросервисами, редкостное г...вно

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

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

а через 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
Карта сайта