Как хранить исходный код микросервисов?

Вольный вопрос - поделитесь опытом и мнением:
Как хранить исходный код большого кол-ва микросервисов, написанных для одного проекта? Каждому микросервису по репозиторию или все в одном?

  • Имеется проект по интеграции большого кол-ва сторонних сервисов.
  • В архитектуре проекта заложен удобный механизм создания микросервиса на каждый сторонний проект, с которым мы интегрируемся.
  • На данный момент имеется 20 микросервисов
  • Планируемое кол-во микросервисов к концу года - 100
  • Создание микросервиса на каждую интеграцию оправдано
  • Исходный код каждого микросервиса хранится в отдельном GIT репозитории
  • Есть несколько микрсервисов, которые являются вспомогательными для всей системы (нормализаторы, поисковый механизм, веб морда, etc)
  • Каждый микросервис для интеграции с внешней системой является частью нашего проекта и не может функционировать вне проекта


Лично мне кажется, что необходимо хранить код всех микросервисов в одном репозитории проекта, но хотелось бы узнать ваше мнение
  • Вопрос задан
  • 2174 просмотра
Пригласить эксперта
Ответы на вопрос 2
index0h
@index0h
PHP, Golang. https://youtube.com/index0h
Лично мне кажется, что необходимо хранить код всех микросервисов в одном репозитории проекта, но хотелось бы узнать ваше мнение

Для малого количества - вполне ок, но вы сами сказали, что их будет много. По этому лучше все же в отдельных.
Одна из основных целей микросервисов - обеспечение жесткого интерфейса между ними на уровне транспотра. В случае одного репозитория - рано, или поздно вы получите очень связанную систему и понятие микросервисов будет не применимо.
Ответ написан
sim3x
@sim3x
разнести по разным репам
использовать штатные механизмы ЯП для установки и работы с кодом (pip, rvm, composer, ...)

свои тесты и билд процедуры на CI сервере
В жтом случае необходимо будет для каждого микросервиса прописывать зависимости от других микросервисов, которые необхоимы для тестирования текушего.
пока количество связей не гигантское ~100 - изолировать комбинации сервисов и тестировать отдельно.
Когда перевалит за сотню - стоит взять пару QA и поручить им приемочное (функциональное) тестирование всего комплекса
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
LC Group Москва
от 170 000 руб.
СофтТелематика Москва
от 100 000 до 180 000 руб.
LC Group Новосибирск
от 90 000 до 160 000 руб.
22 февр. 2019, в 10:54
4000 руб./за проект
22 февр. 2019, в 10:27
2000 руб./за проект
22 февр. 2019, в 10:25
800 руб./за проект