Как стать автором
Обновить
2
0

Пользователь

Отправить сообщение

И для описания архитектуры удобно использовать C4 Model. Если бы нарисовали диаграмму компонентов (уровень 2) то не было бы вопросов про то, есть два разных хранилища на чтение и запись или нет.

Поддерживать CQRS

- Разделяет запросы чтения и изменения с целью повышения быстродействия, отказоустойчивости и оптимизации ресурсов.

Важно разделять не просто запросы, но и хранилища чтения и записи. Они действительно разделялись? Например, таблица для записи и вьюха в той же таблице для чтения. Если да, то что было хранилищем для чтения и что - хранилищем для записи?

Поддерживать микросервисную архитектуру
- Уменьшает сложность реализации предметной области физически разделяя поддомены
- Позволяет в будущем параллельную и независимую разработку несколькими командами

Поддомены можно разделять и логически в монолите, необязательно границы должны быть физическими. Про несколько команд то же самое, монолит с тем же успехом тоже можно разбить на зоны ответственности.
Мне нравятся 4 причины использования микросервисов, которые озвучил Рихтер:
1. Независимое масштабирование
2. Независимый деплой
3. Можно использовать разные языки
4. Можно использовать одну либу разных версий в разных микросервисах

Автоматичекую проверку решений сделать достаточно просто.
Для подготовки задач можно использовать Полигон polygon.codeforces.com, а для проведения соревнований — ЯндексКонтест contest.yandex.ru
Если интересно — пишите, поделюсь опытом.
2

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность