We have successfully implemented our DB architecture for a very intensive read/write application.
We have one MASTER where all read/writes operations take place and 2 SLAVES (A, B) where all the reads take places. Usually, the master-slave replication assumes that reads go on slaves and all other things (reads and writes) on master. In other words, slaves balances the reads.
We put an HAProxy after the WebServer serving read request. The WebServer connects to slaves through the HAProxy. The HAProxy checks the status of the slaves and balances requests among master and slaves.
For easy the configuration, we put the DB servers on separated LANs.
The configuration of HAProxy is very simple: It is just enough to use the default configuration and change the listen statement.
For example:
listen slaves 10.8.214.14:3306
balance roundrobin
option tcpka
mode tcp
option mysql-check user haproxy
server master 10.8.214.12:3306 check weight 1
server slave1 10.8.214.11:3306 check weight 1
server slave2 10.8.214.13:3306 check weight 1
Remember also to enable haproxy at boot.
If you want to go a step ahead, you could integrate the monitoring of slaves status (SQL errors or synchronization problems) by using some script. Ha proxy can use whatever agent you want.
Take a look here and here
If you have a very intensive write applications I suggest to use the right storage engine, like TokuDB which scales very well with database size.