Какой самый быстрый способ получить небольшой объем данных с серверов из белого списка?

Какой самый быстрый способ получить небольшой объем данных с серверов из белого списка?

У меня есть несколько серверов, на которых собираются различные программы для разных систем.

После завершения сборки она архивируется в один файл и сжимается, затем md5sumиз файла создается. Один сервер может собрать несколько разных версий, что приведет к нескольким архивным файлам и файлам archive.md5.

Наконец, на различных других серверах запускается скрипт, который проверяет md5sums каждого файла, сравнивает их с локальными md5sums и, если они отличаются, загружает и распаковывает обновленную сборку.

В настоящее время md5sumпроверка происходит путем сравнения md5 для каждой сборки.scp [email protected] /path/to/builds/*.md5 .

99% времени выполнения скрипта — это scp(хотя это занимает всего несколько секунд). Я пытаюсь максимально оптимизировать эту передачу данных. Запрос поступает с серверов, которые внесены в белый список (или могут быть внесены, если у решения есть собственный порт), и сами данные в любом случае бессмысленны, поэтому мне не нужно беспокоиться ни об аутентификации, ни о шифровании. Я считаю, что это scpиспользовалось из соображений удобства моим предшественником, когда было гораздо меньше серверов, версий и сборок.

У меня есть полный root-доступ ко всем серверам, поэтому я могу делать все, что захочу. Какой самый быстрый способ получить данные .md5с удаленного сервера? Это могут быть либо сами файлы, либо содержимое файлов (например, из cat /path/to/builds/*.md5).

Спасибо!

решение1

Мне на ум приходят следующие варианты:

  • Экспортируйте каталог с файлами MD5 через NFS или SMB (Samba) и смонтируйте на той машине, на которой вы выполняете сравнения.
  • Запустите небольшой веб-сервер, например, lighttpd, для обслуживания файлов по HTTP.
  • Подумайте, как ускорить SCP — это не должно занять «несколько секунд», если только у вас нет проблем с DNS или медленной аутентификации по какой-либо причине.

Предполагается, что вы делаете это в локальной сети, а не через Интернет, в противном случае существуют дополнительные соображения безопасности, даже если файлы «бессмысленны».

Связанный контент