Skip to content
This repository has been archived by the owner on Jan 12, 2025. It is now read-only.

Latest commit

 

History

History

hw10_distributed_transactions

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Домашнее задание №10 «Распределенные транзакции»

Цель: Научиться реализовывать распределенную транзакцию

Можно использовать приведенный ниже сценарий для интернет-магазина или придумать свой.

Дефолтный сценарий: Реализовать сервисы "Платеж", "Склад", "Доставка". Для сервиса "Заказ", в рамках метода "создание заказа" реализовать механизм распределенной транзакции (на основе Саги или двухфазного коммита).

Во время создания заказа необходимо:

  1. в сервисе "Платеж" убедиться, что платеж прошел
  2. в сервисе "Склад" зарезервировать конкретный товар на складе
  3. в сервисе "Доставка" зарезервировать курьера на конкретный слот времени. Если хотя бы один из пунктов не получилось сделать, необходимо откатить все остальные изменения

На выходе должно быть:

  1. описание того, какой паттерн для реализации распределенной транзакции использовался
  2. команда установки приложения (из helm-а или из манифестов). Обязательно указать в каком namespace нужно устанавливать и команду создания namespace, если это важно для сервиса
  3. тесты в postman

В тестах обязательно:

  • наличие {{baseUrl}} для урла
  • использование домена arch.homework в качестве initial значения {{baseUrl}}
  • отображение данных запроса и данных ответа при запуске из командной строки с помощью newman