То, о чем вы говорите, в наши дни принято называть «монорепо». Хотя мне лично нравится, что все мои проекты находятся в собственных независимых репозиториях (включая микросервисы и все остальное), есть ряд сторонников того, чтобы иметь весь код для компании в одном репозитории. Интересно, что и Google , и Facebook используют монорепозицию, хотя нужно сказать, что они создали много необычных инструментов, чтобы заставить их работать на них.
Важно отметить, что ваш репозиторийотдельная вещь от вашей архитектуры. Между ними не обязательно существует какая-либо корреляция. Вы можете иметь микросервисы в одном репо и монолит, разделенный на несколько репо;репозиторий - это всего лишь инструмент для хранения и документирования вашей кодовой базы, не более того.
При изучении этой темы, вот некоторые преимущества и недостатки, взятые из ряда статей в Интернете:
Преимущества Monorepo
- Простота совместного использования модулей между проектами (даже в микросервисах часто возникают сквозные проблемы)
- Одно единственное место, которое можно увидеть изнать, какой код существует - особенно полезно в больших компаниях с большим количеством кода
- Упрощает процессы автоматического и ручного анализа кода
- Упрощает документирование, а не извлечение из нескольких отключенных репозиториев
Недостатки Monorepo
- Массивная кодовая база может быть сложной / медленной, чтобы регистрироваться / выходить на местный
- Без очень четких, строгих указаний это может быть легковызывает тесную связь между продуктами
- Требуется (немного) более сложная оснастка CI / CD для частичного выпуска
- В зависимости от платформы репозитория очень большие кодовые базы могут влиять на производительность
и . Здесь хорошо обсуждается о плюсах и минусах monorepos, а вот одна , конкретно связаннаяперейти на монорепо с архитектурой микросервисов. Вот еще один с множеством ссылок как за, так и против монорепо.
Как и многие другие вещи в программировании и особенно в SOA, правильное решение для вас зависит от ряда факторовэто только вы можете определить. Основной вывод заключается в том, что крупные и малые компании добились успеха с обоими вариантами и многими промежуточными, поэтому выбирайте осторожно, но не слишком переживайте по этому поводу.