The wiring to route to either replica or primary is very transparent. Seen this done several times before and it’s never been quite as easy to have your code just do the Right Thing.
Biggest win for us now IMO is that we can just horizontally scale reads. Instead of trying to play whackamole with micro-optimisiations, we just buy more computers. (Optimisation still has its place obvs!) And, the way this is set up, load balancing across multiple replicas can also be completely hidden from callers.
Neat
I had a lot of fun “long tail whackamoling” our way through edge queries that our model of “this is eligible for a read replica” wasn’t accurately catching. Honestly just one of those “keep reading traces and working through them” development processes that just keeps drive a graph down and to the right.