There are several FOSS software load balancers available for such use cases. The difference between DNS RR load balancing and tcp load balancers are connection termination. You'd advertise one (or multiple) A record that points to one or more load balancers (LBs). The LBs can then send traffic back to a number of backend ftp servers. The benefit here is greater control of how the load is distributed to the backend FTP servers. Similarly, if you need to take a FTP server down, tcp load balancing makes the process much easier. With DNS RR, you'd have to ensure you delete the backend FTP server and wait for DNS caches to update before you take down an FTP server or risk users hitting the down IP.