rafaeljusto / shelter

Program to periodically validate and alert domains about DNS or DNSSEC misconfiguration
GNU General Public License v2.0
8 stars 3 forks source link

New scanning strategy (MQ) #86

Open rafaeljusto opened 10 years ago

rafaeljusto commented 10 years ago

We realized that for some systems is important to scan the domains along of the day, instead trying to do as faster as we can. This can make the system less aggressive for nameservers and don't exhaust the registry or provider link.

To achieve this approach we could also use message queue (RabbitMQ, ZeroMQ, ...) as input and output of domains. Each domain would have an execution time in the day that would be respected by the scan system. So in the end we would have a priority queue.

The idea of using message queue is that we can use it with the Shelter internal database or as a new interface for integrating with the registry system. The idea of a new interface is that the registry don't need to control two databases (their own and the shelter database), but is responsible for selecting and setting the execution time of each domain added to the input queue.

This ideas were given by Mauro Trajber and Hugo Kobayashi.

rafaeljusto commented 10 years ago

RabbitMQ and ZeroMQ aren't priority queues, so we need to think better how to work with queues. The scan injector and collector should also become interfaces to allow different kinds of input/output.

rafaeljusto commented 10 years ago

We could use Redis. Check http://redis.io/commands#sorted_set