Идеи разделения на модули и микросервисы
Мы дошли до программирования доменной модели аукциона. У нас уже есть подробное задание, которое теперь нужно реализовать в коде. Нужно будет разобраться с доменными контекстами и пройтись по пользовательским сценариям. Это мы рассмотрим в следующих скринкастах.Но помимо аукциона нам будет крайне полезно более ёмко рассмотреть примеры из других предметных областей. Для этого мы проведём отдельный большой обобщающий практический стрим про декомпозицию кода на модули и микросервисы:
Что было на стриме:
- 00:00:00 - Проверка связи
- 00:04:18 - Что сегодня будет
- 00:14:58 - Использование бизнесом готовых сервисов
- 00:31:50 - От ручной работы к интеграция через API
- 00:44:29 - Написание своих сервисов
- 00:48:00 - Перекомпоновка данных
- 00:53:54 - Работа с сервисами без API
- 00:56:38 - А давай всё перепишем...
- 00:58:56 - Рост проекта и новые направления
- 01:02:08 - Сервисная архитектура
- 01:07:17 - API Gateway или Backend For Frontend
- 01:14:46 - Проблема надёжности для Query и Command
- 01:20:06 - Взаимодействие через очереди сообщений
- 01:26:18 - Продвинутые брокеры очередей
- 01:40:50 - Надёжная очередь и Outbox Pattern
- 01:45:40 - Компенсация операций
- 01:46:53 - Уведомление фронтенда о результатах операций
- 01:50:35 - Перерыв
- 02:09:28 - Ответы на вопросы
- 02:34:31 - Монолит, модули и микросервисы
- 03:04:25 - Ответы на вопросы и про DDD
- 03:13:39 - Единый язык и ограниченные контексты
- 03:21:05 - Разделение данных по кнотекстам
- 03:41:02 - Как выглядит в программном коде
- 03:46:00 - Формат именования слушателей
- 03:49:30 - Пример слабосвязанных модулей
- 04:05:18 - Почему не использовать Repository для выборок
- 04:15:18 - Application Side Joins
- 04:28:38 - Отдельные конфигурации для модулей
- 04:33:13 - Минимизация хождения за данными
- 04:41:53 - Дублирование и DRY
- 04:46:27 - Авторизация через роли и разрешения RBAC
- 04:58:22 - Слабосвязанные модули и сервисы
- 05:00:30 - Саги через хореографию или оркестрацию
- 05:05:41 - Вынесение модуля в микросервис
- 05:07:33 - Вывод отчётов и сложных выборок
- 05:13:49 - Специализация на людей в команде
- 05:16:53 - Система уведомлений
- 05:22:22 - Промежуточный вывод
- 05:25:46 - Ответы на вопросы
- 05:30:22 - Многошаговый процесс в распределённой системе
- 05:35:31 - Ответы на вопросы
- 06:28:58 - Тишина и покой
https://deworker.pro/blog/stream-modules