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 репликация), то стоит использовать техники именования, которые позволят избежать конфликтов имён.

Cтатьи по теме:

Хостинг сайтов и веб-приложений
Это услуга по предоставлению дискового пространства и вычислительных ресурсов на сервере, постоянно находящемся в сети интернет. Обычно под понятием услуги хостинга подразумевают как минимум услугу размещения файлов сайта на сервере, на котором запущено ПО, необходимое для обработки запросов к этим файлам (веб-сервер).
Виртуальный хостинг — экономное решение, но практически без гарантий
Виртуальный хостинг — самый экономичный, но при этом и наименее надёжный вариант размещения сайта. Его достаточно только для размещения простых ненагруженных веб-сайтов, для которых не особо важны производительность и отказоустойчивость.
Виртуальный выделенный сервер (VPS или VDS)
Для небольших проектов это оптимальный вариант по соотношению «цена / качество». Клиенту предоставляется виртуальная машина с гарантией выделения места на диске, оперативной памяти и процессорного времени сервера.
Выделенные сервера, кластеры и облачные решения
Серьёзные проекты требуют серьёзных хостинговых решений. Для средних проектов может хватить одного выделенного сервера, а для больших нагруженных сайтов нужны кластерные или облачные решения.
Рекомендации по выбору хостинга
От правильности выбора хостинга зависит дальнейшая работоспособность сайта и его доступность, поэтому к этому вопросу надо отнестись достаточно серьёзно.
Серверное программное обеспечение
На серверах устанавливается программное обеспечение, которое требуется для работы сайта и других служб домена, для обслуживания и мониторинга, а также для защиты от взлома и устойчивости к нагрузкам.
Безопасность сайтов и веб-приложений
​Под безопасностью веб-сервисов, как правило, понимается обеспечение сохранности данных и их недоступность для посторонних лиц, а также способность приложения сохранять работоспособность при кибератаках и не подвергаться заражению вирусами.

Тематические технологии:

Red Hat Enterprise Linux
CentOS
Система управления конфигурациями Ansible
Docker
Веб-сервер NGINX
Kubernetes
Веб-сервер Apache