BitTorrent Sync — синхронизация данных клиент-клиент

BitTorrent Sync — это программное обеспечение, осуществляющее синхронизацию файлов между устройствами и резервное копирование без вовлечения в этот процесс сторонних серверов.

BitTorrent Sync осуществляет синхронизацию по протоколу BitTorrent между произвольными устройствами. Данное ПО работает в ОС Windows, Mac OS X и Linux, то есть может использоваться практически на любых устройствах — как на рабочих станциях, так и на серверах или на сетевых хранилищах.

Процесс синхронизации

BitTorrent Sync синхронизирует файлы используя одноранговую сеть P2P, этот протокол может эффективно использоваться для передачи больших файлов между множеством устройств, этот принцип передачи данных используется в таких приложениях как µTorrent, Transmission и BitTorrent. BitTorrent Sync отличается от облачных сервисов тем, что пользовательские данные находятся на локальном носителе, а синхронизация требует как минимум одного устройства подключенного к сети.

BitTorrent Sync использует шифрование данных с помощью алгоритма AES с длиной ключа в 128 бит, который может быть как созданным случайно так и выбранным пользователем. Ключ является производной от «секрета», который может быть распространён среди пользователей, обменивающихся данными. Данные посылаются непосредственно от устройства к устройству, если принимающее устройство недоступно (например, находится за межсетевым экраном или выключено), то данные будут направлены другому узлу сети. Но данные будут приняты узлом только в том случае, если ему известен секретный ключ для расшифровки и просмотра данных. Узел сети может быть добавлен к синхронизации, если ему будет передан соответствующий секретный ключ, позволяющий ему просматривать (RO-доступ) или изменять (RW-доступ) данные.

Применение

Синхронизация рабочих файлов между устройствами — наиболее очевидный способ использования, можно просто синхронизировать данные между несколькими ПК или серверами, обеспечивая наличие на каждом из устройств идентичной информации. Данный способ полезен в организации хранения личных и корпоративных данных.

Резервное копирование — BitTorrent Sync может использоваться в качестве транспортного механизма между устройством, данные с которого требуют резервирования, и места хранения резервных копий. По сути, на резервирующем устройстве можно создать «зеркала» нужных директорий и реализовать на их базе инкрементальное резервное копирование или версионность.

Зеркалирование и репликация не самых критичных данных в облачных или кластерных веб-приложениях — можно обеспечить хранение идентичного набора данных на нескольких серверах, что позволяет распределить между ними нагрузку, связанную со скачиванием этих данных пользователями. Стоит только учесть, что синхронизация не мгновенная, а может занимать некоторое время, то есть в реальной работе не стоит опираться на то, что все синхронизируемые узлы обладают актуальным и идентичным набором данных. Также стоит учесть то, что реплики не устраняют конфликты интеллектуально — если в наборе данных есть файлы с идентичными именем и путём, то будет сохранена только наиболее поздняя версия. Таким образом, если файлы создаются программным обеспечением сразу на нескольких узлах (master-master репликация), то стоит использовать техники именования, которые позволят избежать конфликтов имён.