Size: a a a

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

2021 June 25

A

Alex in Архитектура ИТ-решений
ну да, сразу в прод
источник

p

pragus in Архитектура ИТ-решений
Окей, а как сделать "вот пользователь, нужные последние 5 заказов с историей изменения статуса по каждому заказу"?
источник

p

pragus in Архитектура ИТ-решений
А на другом конце хрупкий монолит, который не умеет в graceful degradation и мемлик в котором приводит к бедам у всего сервиса
источник

PD

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

АП

Алексей Попов... in Архитектура ИТ-решений
Ну часть этих проблем может быть не актуальна (например, распределённые транзакции)
Что такое сквозной рефакторинг?
источник

PD

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

p

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

A

Alex in Архитектура ИТ-решений
судя по документации в github - никаких, это как спринг или как ratpack
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Ну, распределенные транзакции нужны, на самом деле, всегда. Просто иногда на них плюют.
Сквозной рефакторинг - это про рефакторинг по всему продукту, по всем сервисам.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Да там у них на сайте вообще явное вранью. Fault toleranсe у них - это про retry, оказывается )
источник

PD

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

AB

Aleksandr Bespalov in Архитектура ИТ-решений
А как быть с тем, что я отдал graph_ql мобильным клиентам, они там наделали запросов и теперь у меня дедлоки? Что сказать dba? Ща на конкретный graph-ql запрос прибьет конкретный запрос в БД на стороне апи обслуживающего graph ql запросы?
источник

АП

Алексей Попов... in Архитектура ИТ-решений
Так разве сквозной рефакторинг связан с монолитом/микросервисами? Это скорее к тому как код хранится
источник

A

Alex in Архитектура ИТ-решений
и чтобы починить надо выпустить новую версию мобилки и обновить всех пользователей
источник

AB

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

PD

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

PD

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

PD

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

PD

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

AB

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