Very broad topic!
Need to clarify followings:
1. Do you need transaction?
2. Do you need Partition Tolerant System?
In short:
- If the answer for both is "No", then any Master/Slave infra is OK.
- If the answer for both is "Yes", then you need RDBMS (with transaction support engine) along with Partition tolerant (mostly NoSQL) DBs.
- If the answer for 1st is "Yes" and "No" for second, then Master/Slave RDBMS with partition/sharding is very ok.
- If the answer for 1st is "No" and "Yes" for second, then you need to clarify "do you need to save relational data?, use RDBMS if so." and use partition tolerant NoSQL (like Couchbase, MongoDB, etc...)
Additional info: I only highlighted DB part above.
With microservices H/A (high available) event driven (you loose consistency to use Message Brokers) architecture is more preferrable!
And sorry for typing in eng, I feel more confident to discuss such topics in eng. 🙈