Below shouws the trade off between consistency and avalaibilty....
Favoring consistency, the customer data would strictly remain under control of the customer microservice.
The order microservice reaches out to the customer microservice for details like the shipping address.
However, if the customer service is not reachable, the order service cannot perform its task.
This might be an acceptable risk, or it might not.
Favoring availability, the dependency on the customer microservice needs to be eliminated by replicating the relevant subset of customer data to the order service.
By replicating the data, you end up being limited to eventual consistency and implement replica convergence and conflict resolution as a consequence.
2> DB SHARD AND ITS REPLICA,
3> 2PC,- tries strong consistency at the cost of avaliability...(nosql and message brokers do not support 2pc)
distributed trans model does not fit..