4 ms·
Generally I believe it's done for encapsulation between teams. That way, each team can own their code without any fear of another team being able to break anyth
by procinct 5y ago
Generally I believe it's done for encapsulation between teams. That way, each team can own their code without any fear of another team being able to break anything provided they all work to their contracts.
If you can perform a join to get the data yourself, nothing is stopping anyone from circumventing your API that is intended for fetching the data or by making breaking changes to the single database that your code relies on.
But yes, trivial joins is effectively the trade off for this encapsulation and can mean other services have to collect their own versions of data from services which means you now have eventual consistency.