[dns-operations] good async DNS library
Paul Hoffman
phoffman at proper.com
Fri Apr 26 14:50:40 UTC 2019
On 26 Apr 2019, at 4:26, Florian Weimer wrote:
> * Klaus Darilion:
>
>> My current task is to monitor zone freshness on our Anycast cloud.
>> So,
>> every second, I send SOA requests to every of our 30 global nodes and
>> check the received serial.
>>
>> I currently use Net::DNS::Async as sequential scanning takes to long
>> -
>> hence with async. I patched Async to allow sending also to
>> non-standard
>> ports (with only 1 unicast IP, but multiple name server processes, I
>> have to use different ports). But there is still the problem that
>> Timeouts are only with 1 second granularity, but I need timeouts <
>> 1s.
>>
>> That's why I look for a good replacement of Net::DNS::Async.
>
> In this case, you probably want to take over the packet processing
> completely and only use a preexisting DNS packet builder and parser.
> It's probably easier to write the event dispatching yourself than to
> figure out how to get the desired behavior from some existing DNS
> library and integrate that with an event-handling loop of your choice.
+1 to Florian's suggestion. Even if you got a library to do what you
want, there's a chance that later it would change to stop doing that,
particularly around the 1 second timeout. I could absolutely see that
being changed out from underneath you. Using a library to create
messages and you sending them through a bespoke async client interface
will be reliable for a lot longer.
--Paul Hoffman
More information about the dns-operations
mailing list