This is a vast topic. Load balancers in general are available in hardware and software based solutions. Now there are even cloud based Load Balancing as a Services .
You can use clustering or even SQL replication to provide load balancing. Again there are methods and algorithms used for load balancing.
Load balancers are generally grouped into two categories: Layer 4 and Layer 7. Layer 4 load balancers act upon data found in network and transport layer protocols (IP, TCP, FTP, UDP). Layer 7 load balancers distribute requests based upon data found in application layer protocols such as HTTP.
Typical software solutions can be HAProxy, ProxySQL or even by using the MySQL's Connector/j
How you implement is based on the circumstances and probably you are looking for a general paper on SQL load balancing. If I can locate a brief one will send a link.