What do you set your TTL to? Do caches actually respect it?
(My experience with this is that the downtime that I want to route around usually lasts longer than the TTL. And even if it doesn't, the recursive resolver / OS cache / browser cache ends up persisting the record longer than the TTL advises.)
Actually they don't but in the opposite direction. I set it at 7200 initially just to see if it would work and found not only did it work but updates came even quicker in most cases. Google's DNS for example will update after about 10 to 20 minutes regardless of the TTL setting.
(My experience with this is that the downtime that I want to route around usually lasts longer than the TTL. And even if it doesn't, the recursive resolver / OS cache / browser cache ends up persisting the record longer than the TTL advises.)