Size: a a a

Архитектура ИТ-решений

2021 June 25

p

pragus in Архитектура ИТ-решений
Это в консерватории править, если у вас такое случается.

Потому что то же самое вам могут сделать и из rest/json-rpc
источник

AB

Aleksandr Bespalov in Архитектура ИТ-решений
Ну так если у меня http api/etc, то я и поправлю и для клиента ничего не меняется вообще. Или надо отдавать graph ql, а на бекэнде еще написать всякое чтобы эти запросы куда надо транслировались? И сколько оно будет стоить?
источник

p

pragus in Архитектура ИТ-решений
Вполне себе есть. Приходит запрос и мы из него строим граф зависимостей, а дальше исполняем паралельно.
источник

AB

Aleksandr Bespalov in Архитектура ИТ-решений
При том что на бекэенд еще микросервисы, версионирование сервисов и вот это всё?
источник

AB

Aleksandr Bespalov in Архитектура ИТ-решений
Граф мы строим понимания как всё работет. Понимания ограничения сервисов. И т.о. как раз таки "всегда нужно делать понимая, что там внутри."
источник

p

pragus in Архитектура ИТ-решений
Так никто не говорит про сложность. Да, это сложно, но оно того стоит. И сразу решается вопрос с версионированием
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Ну, это не дедлок все-таки.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Только для bff (при чем тут rest) я просто поменяю реализацию. Кэш добавлю, например.
Более того, потребность в этом вызове станет понятна еще при разработке, при запросе на метод )
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Неа. Так как оно легко уйдет в n+1 и положит весь бэк. И graphql скорее всего так и сделает.
источник

p

pragus in Архитектура ИТ-решений
А какое дело фронту до версионирования сервисов?
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Это не просто сложно, это неимоверно сложно, это уровень написания распределенной базы самостоятельно.
И не дает никакого выигрыша...
источник

p

pragus in Архитектура ИТ-решений
источник

AB

Aleksandr Bespalov in Архитектура ИТ-решений
Дело вполне себе тому, кто это пишет и поддерживает на бекэнде.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Это костыль, который еще и не работает (так как кэширование - не всегда разрешено).
И при этом, заметим, это одно плохое решение одной частной простой проблемы. И с этим решением мало кто справляется )
источник

AB

Aleksandr Bespalov in Архитектура ИТ-решений
Классно же. Мы ушли от неудобного http rest/rpc в graphql и теперь dataloader костыли. Проблем дополнительных - масса.
источник

AB

Aleksandr Bespalov in Архитектура ИТ-решений
Вместо того чтобы написать запрос внутри апи, отдавать ответ и на этом закончить - нужно вот этим всем позниматься.
источник

AB

Aleksandr Bespalov in Архитектура ИТ-решений
Ну там даже написано. Для каждого резолвера - свой даталоадер. Т.е. нет никакой магии. Нужно писать всё это. Было сложно написать пейджинг в апишке, теперь лучше мы напишем резолверы корректные.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
При этом если нужна фильтрация по подтянутым данным, то все равно придется все тащить.
Так как никаких оптимизаторов в graphql нет, это же очень-очень бедное подобие sqlя, даже без хинтов.
источник

p

pragus in Архитектура ИТ-решений
1. В gql разделены мутации и запросы. Так что данные очень часто можно кешить. В мутациях этот кеш, понятное дело, надо инвалидировать.
2. Если уж совсем никак, можно отдельный специфичный query написать
источник

p

pragus in Архитектура ИТ-решений
Версионирование. Вот у вас есть десктоп, мобилки и ещё какое-нибудь api. И вот эти все 3 вида api надо поддерживать.
источник