Comment by jethro_tell
3 years ago
if you have multiple micro services updating the database you need to have a database access layer service as well.
there's some real value with abstraction and microservices but you can try to run them against a monolithic database service
No amount of abstraction is going to save you from the problem of 2 processes manipulating the same state machine.
In this example, it's the job of the "database access layer service" to manage those processes and prevent issues.
But, terrible service name aside, this is a big reason why two services accessing the same database is a capital-H Huge anti-pattern, and really screams "using this project to learn how to do microservices."