Query Routing
Solves - "My database is getting slammed. I could replicate it but then I'd have to rewrite my app to send DML to the master and somehow distribute selects over the slaves."
Query routing sends queries that match one pattern to one set of database servers and queries that match another pattern to another set of servers. A comon use for query routing is to route DML and DDL queries to a master and distribute select queries over a pool of slaves.
A complete descripton of query routing with example configuration files is given here.