|
|
|
|
|
by davismwfl
4175 days ago
|
|
It depends, likely not given the daemons are showing direct communication to what appears to be other services etc. But in reality, I don't feel there is enough data to answer that question completely based on the diagram. IMO, a micro-service does only 1 thing, does not access common data repositories and stores its own data isolated (could be same physical db server but separate db/table/catalog etc.). Additionally, at least as I see it a micro-service does its job and then pushes a new message on the queue with the results, it never talks via the network layer to anyone else for coordination or status. But of course it may send out data or make calls via the network, e.g. HTTP, SMTP etc. You probably already know this but from reading and my experience a micro-service should only act upon data it receives in the message. Sometimes this is where people have a hard time because it means passing an entire data set with the message to make sure the micro-service has enough information to do its job. But doing so is the only way to decouple the services and get the benefits of a distributed system. If you use the database as a communication layer it will cause you all kinds of headaches and it couples the services to data structure changes which means you still are not isolated. You should be able to update any micro-service without the need to update any other service at the same time. |
|
'''does not access common data repositories and stores its own data isolated'''
&
'''does its job and then pushes a new message on the queue with the results, it never talks via the network layer to anyone else for coordination or status'''