У нас вы можете посмотреть бесплатно Освоение или скачать в максимальном доступном качестве, видео которое было загружено на ютуб. Для загрузки выберите вариант из формы ниже:
Если кнопки скачивания не
загрузились
НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если возникают проблемы со скачиванием видео, пожалуйста напишите в поддержку по адресу внизу
страницы.
Спасибо за использование сервиса ClipSaver.ru
Введение в паттерн «Сага» #sagapatternmicroservices, #sagamicroservices, #sagadesignpatternmicroservices, #microservicessagapattern, #sagapatternspring-boot, #patternsaga, #microservicessaga, #sagadistributedtransaction, #sagapatternjava, #sagadesignpatterninmicroservices, #sagainmicroservices, #sagaorchestrator, #microservicetransactionpatterns, #sagapattern, #sagapatterninmicroservices Паттерн «Сага» — это последовательность локальных транзакций, где каждая транзакция обновляет данные в рамках одного сервиса. Первая транзакция в саге инициируется внешним запросом, соответствующим операции системы, а затем каждый последующий шаг запускается завершением предыдущего. Существует несколько способов реализации транзакций в саге, но два наиболее популярных: События/Хореография: Когда отсутствует централизованная координация, каждый сервис генерирует и отслеживает события других сервисов и решает, следует ли выполнять какое-либо действие. Команды/Оркестрация: Когда сервис-координатор отвечает за централизацию принятия решений в саге и упорядочивание бизнес-логики. Давайте рассмотрим каждый из этих способов реализации подробнее, чтобы понять, как работают саги. В подходе «События/Хореография» первый сервис выполняет транзакцию, а затем публикует событие. Это событие отслеживается одним или несколькими сервисами, которые выполняют локальные транзакции и публикуют (или не публикуют) новые события. Распределенная транзакция завершается, когда последний сервис выполняет свою локальную транзакцию и не публикует никаких событий, или когда опубликованное событие не было услышано ни одним из участников саги. Откат распределенной транзакции не является бесплатным. Обычно для компенсации ранее выполненных действий требуется дополнительная транзакция. Использование событий/хореографии — естественный способ реализации паттерна оркестровки «Сага». Он прост, понятен, не требует больших усилий для построения, и все участники слабо связаны, поскольку не имеют прямой связи друг с другом. Если ваша транзакция включает от 2 до 4 шагов, это может быть очень подходящим вариантом. Однако этот подход может быстро стать запутанным, если вы будете постоянно добавлять дополнительные шаги в транзакцию, поскольку сложно отслеживать, какие сервисы прослушивают какие события. Более того, это также может добавить циклическую зависимость между сервисами, поскольку они должны подписываться на события друг друга. Наконец, тестирование с использованием этого подхода будет сложным, поскольку для имитации паттерна транзакций необходимо, чтобы все сервисы работали. Паттерн проектирования «Сага» — это способ управления согласованностью данных между микросервисами в распределенных сценариях транзакций. Сага — это последовательность транзакций, которая обновляет каждый сервис и публикует сообщение или событие для запуска следующего шага транзакции. Если какой-либо шаг завершается неудачей, сага выполняет компенсирующие транзакции, которые нейтрализуют предыдущие транзакции. Паттерн «Сага» обеспечивает управление транзакциями с помощью последовательности локальных транзакций. Локальная транзакция — это атомарная работа, выполняемая участником саги. Каждая локальная транзакция обновляет базу данных и публикует сообщение или событие, чтобы запустить следующую локальную транзакцию в саге. Если локальная транзакция завершается неудачей, сага выполняет серию компенсирующих транзакций, которые отменяют изменения, внесенные предыдущими локальными транзакциями. В паттернах «Сага»: Компенсируемые транзакции — это транзакции, которые потенциально могут быть отменены путем обработки другой транзакции с противоположным эффектом. Опорная транзакция — это точка «да/нет» в саге. Если опорная транзакция завершается успешно, сага выполняется до завершения. Опорная транзакция может быть транзакцией, которая не является ни компенсируемой, ни повторяемой, или она может быть последней компенсируемой транзакцией или первой повторяемой транзакцией в саге. Повторяемые транзакции — это транзакции, которые следуют за опорной транзакцией и гарантированно завершаются успешно. Существует два распространенных подхода к реализации саг: хореография и оркестровка. Каждый подход имеет свой набор проблем и технологий для координации рабочего процесса. Хореография Хореография — это способ координации саг, при котором участники обмениваются событиями без централизованной точки управления. При хореографии каждая локальная транзакция публикует события предметной области, которые запускают локальные транзакции в других сервисах. Оркестровка Оркестровка — это способ координации саг, при котором централизованный контроллер указывает участникам саги, какие локальные транзакции следует выполнить. Оркестратор саги обрабатывает все транзакции и указывает участникам, какую операцию выполнить на основе событий. Оркестратор выполняет запросы саги, хранит и интерпретирует состояния каждой задачи и обрабатывает восстановление после сбоев с помощью компенсирующих транзакций. Приветстви...