For every complex problem, there is often a simpler solution that works 90% of the time and takes only 10% of the effort. Prioritize that. I’ll give you an example…
Say, on a social app, when a user posts something and immediately tries to read it, there’s a chance the read request goes to a replica that doesn’t yet have the data. As a result, the user may receive a 404 error.
Instead of chasing read-your-write consistency or even strong consistency, you could simply enhance the UX for most users by adding a 3-second animation on the screen, giving replicas enough time to catch up.
This “solves” read-your-write consistency “enough” that most of your users would be happy, and hence it’s a perfectly valid solution.
Remember, your job is to solve problems that have the highest impact in the least amount of time and effort. There is no one right way to solve things in the real world.
Impact matters more than perfection.