K
K
kazhuravlev2015-05-17 14:52:56
git
kazhuravlev, 2015-05-17 14:52:56

How to store the source code of microservices?

Free question - share your experience and opinion:
How to store the source code of a large number of microservices written for one project? Each microservice on a repository or all in one?

  • There is a project to integrate a large number of third-party services.
  • The project architecture has a convenient mechanism for creating a microservice for each third-party project with which we integrate.
  • There are currently 20 microservices
  • Planned number of microservices by the end of the year - 100
  • Creating a microservice for each integration is justified
  • The source code of each microservice is stored in a separate GIT repository
  • There are several microservices that are auxiliary to the entire system (normalizers, search engine, web snout, etc)
  • Each microservice for integration with an external system is part of our project and cannot function outside the project

Personally, it seems to me that it is necessary to store the code of all microservices in one project repository, but I would like to know your opinion

Answer the question

In order to leave comments, you need to log in

2 answer(s)
I
index0h, 2015-05-17
@index0h

Personally, it seems to me that it is necessary to store the code of all microservices in one project repository, but I would like to know your opinion

For a small amount - quite ok, but you said yourself that there will be a lot of them. That's why it's better in separate ones.
One of the main goals of microservices is to provide a hard interface between them at the transport level. In the case of a single repository - sooner or later you will get a very connected system and the concept of microservices will not be applicable.

S
sim3x, 2015-05-17
@sim3x

spread across different turnips
use regular PL mechanisms for installing and working with code (pip, rvm, composer, ...)

own tests and build procedures on the CI server
In this case, it will be necessary for each microservice to prescribe dependencies on other microservices that are necessary for testing the current one.
until the number of connections is gigantic ~100 - isolate combinations of services and test separately.
When it exceeds a hundred, it’s worth taking a couple of QAs and entrusting them with acceptance (functional) testing of the entire complex

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question