After reading load distribution alternatives and giving my limited skills on the area I'm biased toward round-robin DNS strategy.
From what I understood, one key aspect of DNS Round-Robin is setting a low TTL value, avoiding caching.
My main concern is that all my traffic comes from mobile networks, almost 30% of that comes from t-mobile 3G. Some questions:
1) Is there a chance that almost all clients on the same mobile network will be redirected to the same IP in the TTL frame? That would kill the distribution technique.
2) If I choose a really low TTL (zero or one). That impacts directly over client performance? It does a DNS miss every time or it's a setting that only impacts on DNS servers?
Any help would be much appreciated. Thanks
Android by default will cache DNS for 10 minutes. Something to consider.
Also, consider the case where one of the IPs in the A record list fails.
I'd recommend you take a look at this question, which can give you some ideas on how DNS round-robin works and its major drawbacks.
Regarding your specific questions:
This is one of DNS round-robin major drawbacks as records are cached not only in the DNS hierarchy itself but also on Operating Systems and browsers or other applications. The combination of all these cache levels can be very difficult to manage.
I'd say the impact is low but measurable, but I'd not recommend that as it doesn't solve the real problem. There are are things to consider: many DNS resolvers do not honor the TTL defined at the authoritative DNS and use their own policy and, as said above, there are other caching levels to consider (OS, broswer, etc). Here's a good couple of answers to a similar question.
If you're considering DNS Round-Robin for web applications, I'd recommend you take a look at HAProxy, which can implement cheap but real redundancy.
Hope this helps!