Это будет длинная история :)
В течение последнего десятилетия команда инженеров (мы) поддерживала доморощенный инструмент для команды инженеров по развертыванию, написанный на C # для передачи файлов между центрами обработки данных, а недавно и в облако. Он достаточно гибкий и способен передавать большие объемы данных. однако это устаревший код с низкой ремонтопригодностью, к тому же написание такого инструмента не является компетенцией команды SE и не является основным делом. Я провел пару дней в поисках такого инструмента, но безрезультатно. Никто не делает все, что нам нужно, и, поскольку это очень очевидные задачи, я думаю, что просто проглядел это или искал не в том месте.
Итак, что я искал?
Инструмент должен уметь копировать файлы из нескольких источников в одно место назначения и наоборот, копировать (или перемещать) файлы из одного источника в несколько мест назначения. Иногда (обычно при отправке по сети за пределы центра обработки данных) его следует сжать перед отправкой, инструмент на принимающей стороне должен иметь возможность распаковывать входящие файлы и отправлять их дальше одному или нескольким адресатам.
Кроме того, он должен иметь возможность загружать/загружать файлы на/с FTP (сжатие перед загрузкой, распаковка после загрузки). Он должен иметь возможность настройки для поддержки резервного копирования отправляемых файлов, например, сжатия файлов, загрузки на FTP, загрузки несжатых файлов в облако (например, S3) для резервного копирования, удаления локальных исходных файлов.
Что касается надежности, он должен обнаруживать частично загруженные/скопированные файлы (например, проверять целостность сжатых файлов). Кроме того, при выполнении операций с интенсивным использованием ЦП (например, при сжатии) он должен иметь возможность использовать несколько устройств чтения/записи, иначе полоса пропускания не будет использоваться полностью. И последнее, но не менее важное: несколько экземпляров такого инструмента, работающего на нескольких машинах, должны иметь возможность извлекать файлы из общей общей папки (да, ракетостроение)
. Типичные варианты использования:
Thingy instance01 — копирование файлов из нескольких папок на сервере в несколько папок . на NAS, реплицируя структуру папок.
Thingy instance02 — сжать файлы, скопированные ранее на NAS, загрузить на FTP, загрузить в облако, сделать резервные копии на другое хранилище NAS, удалить источник.
Thingy instance03 — загрузка с FTP, распаковка, копирование файлов в общую папку.
Thingy instance04..10 — вытащить файлы из общей папки на другую машину, где анализатор файлов ожидает входящих материалов.
Thingy instance11 — собрать файлы, обработанные на предыдущем шаге, сжать и скопировать на машину DWH, загрузить в Hadoop, скопировать в место резервной копии
Теперь вопрос, поскольку вся эта «передача байтов» туда и обратно не является чем-то необычным в большой интернет-компании. , существует ли инструмент COTS, который может выполнить все вышеперечисленное?
Эй, я думаю, у меня есть решение для вас — Cloud FastPath, он подключается ко всем этим системам и имеет проприетарное сжатие и оптимизацию WAN. У него действительно отличные отчеты для частично переданных и сбойных файлов, а также множество средств автоматизации.
* редактировать - я работаю в Cloud FastPath
Николя Рауль
Николя Рауль
крейцеркриг
крейцеркриг
Николя Рауль
крейцеркриг