What I usually see people do is run their database on a RAID array. This way you have an HA data store and therefore an HA middle tier. Cheap and working solution.
Alternatively, MySQL is working on an HA version which distributes the load and data across the cluster nodes. Oracle and DB2 have HA offerings for a long time.