Прекрасный выбор технологий.
Осталось только в много потоке запустить краулеры.
Ну или, если реализовывать миуросервисы, параллельно несколько инстансов запускать, которые будут обрабатывать каждый сайт, который нужно контролировать.
Рекомендовал бы второй вариант. Это удобнее, например произошла какая-то ошибка в одном из коаулкров - остальные продолжили работу, пока кубер поднимает упавший.
В моей компании парсеры реализованы на Vertx.
Причины выбора этого фреймворка:
- Собственный DNS resolver. хост, либо 8.8.8.8, либо кастомизируемый список.
- Неблокирующие запросы. Можно запускать много запросов одновременно. Спасает на бесплатных медленных проксях.
- сложные блокирующие операции, как например парсинг ответа или ожидание капчи, реализуются в отдельных потоках. Worker threads, с отдельным пулом. Очень комфортно разделять от общей лоики.
Много пишу. Слушайте у меня есть уже реализованы проект, открытый на гитхабе. В конкурсе участвовал, но проиграл. Там как раз все о чем пишу реализовано. Только не все Javadocs расписаны.
Может я статейку на Хабр напишу, чем все в один ответ запихивать... Как вы считаете?