E
E
Evgeny Romashkan2018-07-24 18:07:41
Service Oriented Architecture
Evgeny Romashkan, 2018-07-24 18:07:41

How do microservices interact?

The Internet is full of reports about what they are good / bad or how they were implemented in the company, but almost none about the implementation.
I found such an article on Habré - https://habr.com/post/302844/ , and even in the reports they say that "all problems are solved" by docker.
How do microservices ultimately interact in combat?
Are these different servers that send requests to each other over the Internet? Or is it multiple php processes running in Docker on the same machine?
I will also accept links to articles / reports where it is said about this without tons of water about the pros, cons, comparisons, etc.

Answer the question

In order to leave comments, you need to log in

1 answer(s)
D
Doc44, 2018-07-24
@EvgeniiR

I found such an article on Habré - https://habr.com/post/302844/ , and even in the reports they say that "all problems are solved" by docker.

Yes?
The death of microservice madness in 2018
You don't need a microservice architecture
And that's just easy googling.
The main advantage of microservices is horizontal scalability.
Therefore, it should initially be designed so that from one microservice you do not know on which machine the other service you are accessing is located.
Moreover, there may be several copies of the same.
And you will not know in advance which instance you are referring to.
Think of a service as a stand-alone, self-contained application.
As a rule, with its own personal database (except that the same database is used between instances of the same service; less often - one database for several different types of services).
Most often interacting with the outside world and / or other services via HTTP / HTTPS.
Sometimes the interaction is supplemented by an MQ server.
and even in the reports they say that "all problems are solved" by docker.
As solves so and creates problems.
Pro decides - they mean this: Docker allows you to guarantee that the environment during development and the environment during operation will be as similar as possible.
And often this is a big problem - when the developer starts everything, but in a real system it is buggy. Due to some stupid difference in the configuration, which was made on the same system but under another software already available in the system and / or in installed libraries (and you can’t install another version, since other software requires exactly that version), etc.
Docker It also allows you to isolate the application along with the settings that the developer made for it.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question