Skip to content

Latest commit

 

History

History
56 lines (46 loc) · 4.27 KB

decision-reasoning-1-lesson.md

File metadata and controls

56 lines (46 loc) · 4.27 KB

WARNING: ДЗ очень сырое, все, кроме ES модели, делалось наспех из-за нехватки времени и наличия опыта решения подобных задач.

Разделение на контексты

  • Жизненный цикл заказа
    • Основная идея крутится вокруг изменения статуса заказа
  • Создание и управление заказом
    • Процессы, доступные только клиенту и менеджеру
  • Отдел контроля качества
    • Контекст включает в себя процессы, необходимые или непосредственно участвующие в проверке заказа со стороны менеджера
  • Система ставок
    • Контекст в основном запускается событиями из контекста жизненного цикла заказа, определенно точно следует делать его изолированным и мало связным с другими, для простоты удаления из системы в случае проблем с налоговой
  • Система мэтчинга
    • Контекст с единственным процессом, скорее всего будет поглощен другим контекстом
    • Хотя он прост только с точки зрения бизнеса, с технической стороны он должен быть отдельным слоем
  • Инвентаризация и склад
    • Включает в себя взаимодействие с внешними поставщиками и службами доставки
    • Напрямую зависит от системы мэтчинга
  • Выплаты денежных средств
    • В основном про асинхронные задачи
    • В целом содержит все денежные процессы
  • Регистрация и тестирование воркера
    • Управление и прохождение входных тестов
    • Работа с заявкой воркера

Структура проекта

Вкратце, был выбран микс (монолитное ядро и несколько сервисов) по тем же причинам, что и указаны в уроке, а именно:

  1. Много вызовов между сервисами
  2. ТТМ в теории одинаковый как для монолита, так и для сервисов
  3. Отдельные сервисы позволят тестировать бизнес гипотезы
  4. Высоконагруженные и слабо связанные сервисы можно вынести из ядра

Спорные моменты

  • (Т) - техническое, (Б) - бизнес, (Д) - данные
  • Очень непонятные связи и вызовы, сложно читать
  • Не добавил бизнес логику для запроса помощи от клиента

Вопросы

  • (Т) Резервация средств на счету клиента
  • (Б) Повторная подача заявки воркером. Борьба с перебором ответов
  • (Б) Кто занимается доставкой печенек? (выбрать какой-либо вариант для первой ДЗ)
  • (Б) Добавление/регистрация клиентов, менеджеров, сотрудников склада

Закрытые вопросы

  • Нужно добавлять логику для связи с клиентом при проверке заказа?
    • Не нужно
  • Является ли логика, связанная с начислением штрафа, технической?
    • Да
  • (Б) Расходников нет в наличии, нужно ли заказывать у поставщика?
    • Не играет роли в рамказ ДЗ
  • (Б) Кто занимается доставкой печенек?
    • Внешняя система, то есть поставщик печенек