<div dir="ltr"><div class="gmail_extra"><div><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><br></div></div></div></div></div></div></div></div><div class="gmail_quote">On Thu, Apr 7, 2016 at 11:49 PM, Trevor Cordes <span dir="ltr"><<a href="mailto:trevor@tecnopolis.ca" target="_blank">trevor@tecnopolis.ca</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">On 2016-04-07 Adam Thompson wrote:<br>
> Trevor, why don't you just pay $5/month for a VPS somewhere out on<br>
> the 'net (in Canada, even!) with static IP addresses and use that as<br>
> your central coordination point? If it's still just the principle of<br>
> the thing, well, keep flogging away at it.<br>
<br>
</span>This isn't that thing (and any other "things" I may have had are<br>
already on static IP). The issue here is the mitigation of a problem I<br>
had a couple of months ago where a Major US Hosting Provider I have an<br>
app on decided to block my DNS. App went completely mental and crashed<br>
nearly everything.<br>
<br>
Investigating the code paths it is very clear I need to do some<br>
delicate things with the results of DNS queries. To do this reliably I<br>
need to know that DNS is working. That means if Hosting Provider<br>
blocks me, I want to stop doing delicate things. If my own named dies<br>
(now that I don't rely on said hosting provider's DNS server), I want to<br>
stop doing delicate things.<br>
<br>
It's funny, but not much discussion of this out on the net... I guess<br>
no one else needs a reliable way to tell if DNS is "working". And if<br>
they do, they're coming up with proprietary solutions (as I am, it<br>
seems). Granted, the app in question is doing some stuff that not many<br>
others are doing...<br>
<br>
I have some good ideas now, mostly just an aggregation of a bunch of<br>
mini tests I can run whenever a lookup fails. Then, if the tests fail<br>
(i.e. DNS is "down") I can just "pause" my app until situation is<br>
resolved. Add in some time-caching so as to not waste too many cycles<br>
on this, and voila, I should be able to better survive any of myriad<br>
possible DNS issues... In theory. I didn't want to code it myself, but<br>
looks like I'll have to.<br></blockquote><div><br></div><div>Have you looked at running multiple recursive resolvers on your system and using a load balancer to always hit a live one?</div><div><a href="http://dnsdist.org/">http://dnsdist.org/</a></div><div><br clear="all"><div><div class="gmail_signature"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Theo</div></div></div></div></div></div></div></div></div></div>