Содержание
- 2. Меня хорошо слышно && видно?
- 3. Карта вебинара Рассмотрим 2 кейса по декомпозиции сервисов На их примере выделим типичные проблемы при декомпозиции
- 4. Кейс «Уведомления на почту» Контекст: есть продукт - стриминговый сервис "Вафликс". Продукт реализован на микросервисной/сервисной архитектуре.
- 5. Кейс «Уведомления на почту» Риск. Изменения логики отправки уведомления потребует изменений во всех сервисах. Сценарий. Захотели
- 6. Кейс «Уведомления на почту» Риски. Отсутствие централизованного управления нагрузкой и распределения запросов на внешний сервис. Сценарий.
- 7. Кейс «Уведомления на почту» Альтернативные решение: компонентный подход. Логику интеграций хранить в библиотеке. Какие риски вы
- 8. Кейс «Уведомления на почту» Альтернативное решение: сервисный подход. Логику интеграции с внешним провайдером хранить в отдельном
- 9. Кейс «Уведомления на почту» Контекст: есть продукт - стриминговый сервис "Ива". Продукт планируется реализовать на микросервисной/сервисной
- 10. Кейс «Права доступа» Контекст: есть сервис размещения объявлений "Завито". В сервисе есть логика проверки прав доступа
- 11. Основные риски при декомпозиции сервисов Риск. Вероятность согласованных изменений в (большом) количестве сервисов Сценарий. Для реализации
- 12. Loose coupling & high cohesion принцип Внутри сервиса находится связанная бизнес-логика Сервисы максимально независимы друг от
- 14. Loose coupling & high cohesion Loose coupling & high cohesion – это лишь признак правильно спроектированных
- 15. Декомпозиция по предметной области (decomposition by subdomain) Какую проблему решает наше ПО? Какова его предметная область?
- 16. Декомпозиция по предметной области (decomposition by subdomain) Примеры проблемных областей (или ограниченных контекстов) для интернет-магазина: Поиск
- 17. Декомпозиция по предметной области (decomposition by subdomain) Берем предметную область и выбираем проблемные области (поддомены) Вокруг
- 18. Декомпозиция по бизнес-процессам (decomposition by business capability) Берем бизнес-процессы Вокруг бизнес-процессов организуем сервисы Минусы: бизнес-процессы не
- 19. Сервис-сущность (service-entity) Есть интернет магазин "Вазон". Архитектор ПО решил выделить (микро)сервисы "Продукт", "Заказ", "Клиент", "Корзина". В
- 20. Сервис-сущность (service-entity) Риск согласованных изменений. Чаще всего бизнес-логика, затрагивает несколько сущностей. Какие изменения и в какие
- 21. Сервис-сущность (service-entity) Сервис-сущность - организация сервиса вокруг сущности, которая участвует в разных бизнес-процессах и может относится
- 22. Сервис-хранилище https://medium.com/hackernoon/wrong-ways-of-defining-service-boundaries-d9e313007bcc
- 23. Сервис-хранилище - сервис как прокси к хранилищу, в котором нет никакой бизнес-логики, кроме хранения. Вся бизнес-логика
- 24. Обращайте внимание на проблемную область Тестируйте сервисы на соответствие loose coupling & high cohesion принципу Пробуйте
- 25. Разделите ваш сервис на несколько микросервисов с учетом будущих изменений. Попробуйте сделать несколько вариантов разбиений и
- 26. Книги
- 27. Ссылки https://www.michaelnygard.com/blog/2017/12/the-entity-service-antipattern/ - статья про антипаттерн сервис-сущность https://martinfowler.com/bliki/AnemicDomainModel.html - статья Вадима Самохина про антипаттерны декомпозиции сервисов
- 28. Опрос https://otus.ru/polls/6403/
- 30. Скачать презентацию