I'm planning to rewrite my system with microservice architecture, Migrating from monolithic
I've spent a couple days reading about it and created this desgin. Pls add inputs to it
*Starting point is from left
- first gateway will do authentication and authorisation
- API gateway will redirect request to concerned microservice
- Each microservice has it's own database, Trying to implement CQRS (not sure if this is correct)
The database with green circle symbolises a read only (Query part)
The red circle is a shared db where write operations happen
The read only db will achieve eventual consistency (planning to add a message broker/ queue for that)
-
The arrows between microservice define the dependecy, I'm planning to keep event-based as well as request -resp architecture among microservices communication, With TCP transporter (would appreciate some advice here too)
-
It's still unclear how to handle transactions, Although I'm trying my best to avoid transactions and joins, Read about SAGA methodology, thinking about handling it in API gateway