Synchronous or asynchronous replication — which do you pick?
It is a choice about what you are willing to lose. Synchronous means the primary waits for a replica to confirm before acknowledging the write, so a failover loses nothing — and every write now pays a network round trip, and a slow replica slows the primary. Asynchronous acknowledges immediately and ships the change after, so writes stay fast and a failover can lose the last few seconds. Ask what the data is before answering: payments and session state have very different answers.
The middle ground worth naming: acknowledge when any one of N replicas confirms, which bounds the loss without waiting for the slowest.