Defining Services
The defining characteristic of microservices is autonomy. Nice word, but what does it mean in this context?
First of all, let’s get back to calling them Components. Good. Now, Components don’t respond to questions. We have things we ask questions of in software. They’re called “databases,” and the process of asking them something is called “querying.” Even if you stick a database behind HTTP, it’s still a database, architecturally speaking.
Components don’t ask questions of anything else. If they did, they would depend on that thing and would no longer be autonomous. If you have to connect to something else to get data to make a decision, then you are not autonomous.
You might be saying, “That’s all well and good, but that ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access