-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Зачем?
Во-первых, это красиво.
Я, конечно, смотрю на проект в первую очередь как на песочницу, чтобы на ней изучать новые вещи. В принципе, мне доводилось распиливать монолит по микросервисам, но на ДМчике есть несколько интересных нюансов, которые и усложняют процесс, и позволяют изучить кое-что новое, и вдобавок должны сильно улучшить сам ДМчик.
Основные аргументы прежние - независимые сервисы сложнее монументально сломать, их проще независимо масштабировать, мониторить и изменять. Аргументы против - те же самые, их сложнее собирать, поддерживать их взаимодействие, рефакторить и прочая, но большинство этих аргументов применимы к ситуациям с плохим определением bounded context. Мне кажется, наша комбинация Gaming/Forum/Community ну очень хорошо покрывает текущие задачи и должна бодро масштабироваться. Подробнее про конкретные сервисы чуть ниже.
Какие сервисы?
Я предлагаю разбиение такое же, какое есть сейчас в нашем модульном монолите:
- Community - юзкейсы прямого взаимодействия между пользователями: личка, чат, опросы, отзывы о сайте. Очень сложный вопрос о IAM, но я ниже упомяну его отдельно.
- Gaming - все, что напрямую связано с играми.
- Forum - форум, новости проекта, админка форума.
- Search - абстрактный сервис поиска, который позволил бы проводить поиск по всему сайту, и играм, и коммунити, и форуму.
- Notifications - такой же абстрактный сервис уведомлений.
TBC