Курсы для системных аналитиков ssa.io/5oWIw6 Работа с очередями в RabbitMQ и Apache Kafka ssa.io/maMkdq Основы ООП и разработка UML-моделей ssa.io/SnGkCQ
@nikandrov2 күн бұрын
Слишком мало сказано про недостатки Saga, особенно про нюансы компенсаций - там очень непросто если детально посмотреть.
@VadimZhivotovsky9 ай бұрын
Добрый день. Видео оставило много вопросов. 02:54 БД вынесена за пределы системы. БД не входит в систему? В чём смысл такой архитектуры? 06:08 Значит, у вас физический пользователь (Guest) напрямую взаимодействует с балансером? Я понимаю, что докладчик - бэкендер, но если вы рисуете систему, то давайте без таких странных упрощений. 11:47 Так, не понял. Только что был длинный рассказ про масштабирование системы, и вот мы пришли к блоку "Масштабирование"... Тогда что было до этого? 11:49 Скажите, а всё предыдущее, судя по вашему кубу, было монолитом? Геораспределённая (вынесеная за пределы системы!) БД, инстансы - это всё монолит? 13:18 Здесь впору задать загадку - найди третье лишнее в названиях микросервисов. Нарушено единообразие нейминга одинаковых сущностей 14:38 Согласен с предыдущим оратором. Я не разработчик, и очень плохо понял этот слайд. Сбегал к ИИ, стало гораздо понятнее (например, poe.com/s/f1aJoqCAuC71HmGlCv1x) 17:58 Насколько вижу, в этой логике есть аж четыре узла, где, случись ошибка, приложение уйдёт в вечный цикл. 19:33 Значит, пользователь и с API напрямую работает. Можно поподробнее про эту технологию? 29:50 Пользователь забронировал номер. Все транзакции в системе по бронированию прошли - сущность "заказ" создан. Теперь пользователь отменяет заказ. И вы говорите, что тут включается паттерн Saga. Вы точно уверены, что хотите (и сможете) отменить прошедшие транзакции в системе? Мне кажется, вы не понимаете границы действия паттерна. Заказ - это одна бизнес-операция. Отмена - это совершенно другая бизнес-операция. Нельзя отменить уже выполненную бизнес-операцию, можно лишь выполнить другую бизнес-операцию для возврата объектов (и то далеко не всех) в нужное состояние. Если это непонятно на уровне архитектуры системы, то страшно представить, что вы там понаотменяете.
@petushkovandrey1094 Жыл бұрын
Извините, но я так и не понял, что из себя представляет паттерн «Сага». Где (в чем происходит обособление/локализация/выделение уровня абстракции)? Роль это блока (до него (без него) и с ним).
@IceeSpirit Жыл бұрын
Если судить по 17:20 то сага это частный случай acid.
@SystemEducation Жыл бұрын
Сага - это последовательность локальных операций (транзакций). Как правило, применяется сага в микросервисной архитектуре, когда у каждого микросервиса своя БД. Каждая локальная транзакция обновляет базу данных и публикует сообщение или событие для запуска следующей локальной транзакции в саге. Если локальная транзакция терпит неудачу из-за нарушения бизнес-правил и нужно её откатить назад, то сага выполняет серию компенсирующих транзакций, которые отменяют изменения, внесенные предыдущими локальными транзакциями. Можно сказать, что это способ обработки ошибок, не нарушающий консистентность данных. Есть разные сценарии обработки ошибок - Retry (повторная отправка), Circuit Breaker (при отказе или длительной недоступности другого сервиса) и др. В вебинаре был рассмотрен конкретный сценарий, где по мере роста и увеличения нагрузки на приложение рассматривалось применение саги .
@petushkovandrey1094 Жыл бұрын
@@SystemEducation Если что-то выделяется, значит оно имеет границы. Значит есть момент до и после. Возможно я ошибаюсь, но я не увидел, что вот была система до добавления саги и она функционировала так-то и так-то и в ней была проблема. Вот сага, она состоит из того-то и того-то и выполняет такую-то функцию. Добавили сагу к существующей без неё системе и получили решение проблемы. Система с добавлением саги стала работать так-то. «Накладные расходы» такие-то.
@АртемАрте-г5х3 ай бұрын
5 лет опыта на бэке это хороший джун, ну или средний мидл. Синьор это от 12-15 лет опыта минимум.
@alexeybreez9102Ай бұрын
Чушь. Если сидишь и формы верстаешь 10 лет периодически почитывая книжки, то да, лет через 10 станешь синьором.
@Altru1stAАй бұрын
@@alexeybreez9102 через 10 лет станешь сеньер верстальщиком форм