degrad sync

Синхронизация сборок и файлов между машинами команды

degrad sync хранит файлы по содержимому: одинаковые блоки лежат на узлах один раз, а при изменении передаются только новые. Клиент сам выбирает ближайший узел.

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

Доступ по приглашению администратора команды.

Схема передачи файла Файл build/app.tar разбит на блоки по 4 МБ. Три изменённых блока передаются на ближайший узел hel-1 в Хельсинки с задержкой 21 мс, затем копируются на узлы waw-1 в Варшаве и clt-1 в Шарлотт. build/app.tar 212 МБ, 53 блока передаётся уже на узле 21 мс hel-1 Хельсинки waw-1 Варшава clt-1 Шарлотт 1 2 3 build/app.tar 212 МБ, 53 блока передаётся уже на узле 21 мс hel-1 Хельсинки waw-1 Варшава clt-1 Шарлотт 1 2 3
  1. Файл делится на блоки по 4 МБ, для каждого считается хеш.
  2. Ближайшему узлу уходят только блоки, которых у него нет.
  3. Остальные узлы получают копию в фоне.
Схема
Передача файла
Узлов
3
Редакция
2026.11
Лист
1

Как устроено

Сервис решает одну задачу: быстро и без лишнего трафика доставить одинаковые файлы на все машины команды.

Хранение по содержимому

Адрес блока — его хеш BLAKE3. Одинаковый блок хранится и передаётся один раз, даже если встречается в разных файлах.

Передача частями

Файлы режутся на блоки по 4 МБ. После обрыва связи передача продолжается с последнего подтверждённого блока.

Ближайший узел

Клиент измеряет задержку до узлов и отправляет данные на ближайший. Остальные узлы получают копию в фоне.

Подключение

Клиент работает в Linux, macOS и Windows. Установочный пакет и токен выдаёт администратор команды.

  1. Получите у администратора токен и пакет клиента. Токен привязан к вашей учётной записи и действует 90 дней.

  2. Авторизуйте клиент:

    dsync login --token <токен>
  3. Свяжите локальный каталог с каталогом команды:

    dsync link ./build team/artifacts
  4. Отправляйте и забирайте изменения:

    dsync push
    dsync pull

Узлы

Задержка — медиана за последние сутки, измерена из Москвы.

УзелГородСостояниеЗадержкаВерсия
hel-1Хельсинкиработает21 мс2.14.1
waw-1Варшаваработает38 мс2.14.1
clt-1Шарлоттработает131 мс2.14.1

Изменения

Узлы и клиент обновляются вместе, номер версии у них общий.

  • 2.14.1

    Клиент больше не скачивает заново блоки, уже полученные до смены сети.

  • 2.14.0

    Новый узел clt-1 в Шарлотт. Узел для передачи выбирается по измеренной задержке, а не по стране.

  • 2.13.2

    Проверка целостности больших каталогов ускорена: хеши считаются параллельно.

  • 2.13.0

    Команда dsync link учитывает шаблоны исключений из файла .dsyncignore.