The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

13.06.2018 20:35  Компания Alibaba открыла код P2P-системы доставки файлов Dragonfly

Alibaba, одна из крупнейших китайских IT-компаний, открыла исходные тексты распределённой системы доставки файлов Dragonfly, использующей механизмы P2P-коммуникаций для построения сети распространения контента. Система подходит для организации загрузки файлов, создания распределённых кэшей, систем доставки приложений и образов изолированных контейнеров. Код проекта написан на языках Go, Java и Python (в будущем все компоненты планируется переписать на языке Go), и распространяется под лицензией Apache 2.0.

По заявлению разработчиков, в отличие от других похожих систем Dragonfly обеспечивает более высокую эффективность, экономит пропускную способность и гарантирует надёжность до 99.9999%. Отмечается, что Dragonfly является одним из наиболее важных компонентов инфраструктуры компании Alibaba и ежемесячно обслуживает около двух миллиардов загрузок, суммарным размером более 3.4 ПБ. По сравнению с централизованными серверами загрузки контента, Dragonfly позволяет добиться постоянного времени отдачи, не зависящего от числа клиентов, одновременно загружающих данные.

Например, тестовая конфигурация на базе двух 24-ядерных серверов с 64 ГБ ОЗУ и каналом связи в 2000Mb/s при использовании утилиты wget смогла обеспечить отдачу 200-мегабайтного файла не более чем 1200 одновременно подключенным пользователям. Время загрузки файла в пике при этом составляло около 14 минут. При повторении теста с использованием Dragonfly, благодаря применению P2P-механизмов удалось добиться отдачи файла с постоянным временем загрузки в 12 секунд, независимо от числа пользователей, одновременно запрашивающих файл.

Кроме передачи файлов большая ставка делается на применение Dragonfly для оптимизации доставки приложений и образов контейнеров для DevOps-применений. Dragonfly может интегрироваться с различными платформами контейнерной изоляции, не требуя изменения их движков. В том числе Dragonfly отлично интегрируется с системами управления контейнерами Docker и Pouch. По сравнению с традиционными средствами доставки контейнеров Docker, Dragonfly позволяет до 57 раз увеличить пропускную способность и на 99.5% сократить трафик, исходящий от реестра контейнеров.

Базовые компоненты Dragonfly:

  • Supernode - написанный на языке Java менеджер кластера, выполняющий роль P2P-сервера, отвечающего за планирование P2P-задач и создание кэша CDN. Supernode разбивает файл на блоки и определяет какие узлы/клиенты (peer) будут участвовать в доставке этих блоков;
  • Dfdaemon (dfget) - написанный на языке Go процесс для распространения файлов или образов, который работает на стороне клиента (peer) и участвует непосредственно в доставке запрошенных блоков файла. Dfdaemon также может выполнить функции зеркала репозитория или прокси для Docker;
  • Getter - написанный на Python модуль, отвечающий за передачу файлов и организацию совместного доступа к ним.

Основные особенности:

  • Использование P2P-технологии для передачи файлов - каждый клиент Dragonfly является звеном, транслирующим уже полученные данные другим клиентам. Каждый файл разбивается на несколько блоков, которые отдельно передаются между разными узлами (peer). Работа каждого узла P2P-сети обеспечивается отдельным клиентом. Централизованный менеджер кластера имеет информацию о разбивке файлов и о том, какие блоки имеются на каком клиенте, а также осуществляет первичную загрузку файлов из исходного файлового сервера;
  • Возможность интеграции с инструментариями контейнерной изоляции для организации распределённой доставки образов контейнеров;
  • Возможность ограничения суммарной пропускной способности на уровне всего хоста, а не только на уровне отдельных соединений;
  • Работа в форме пассивной сети доставки контента (CDN), позволяющей избежать повторяющихся удаленных загрузок;
  • Гарантированное обеспечение целостности передаваемых файлов, без необходимости дополнительной проверки пользователем контрольных сумм;
  • Оптимальное хранение данных на диске и эффективный ввод/вывод. Например, применяются такие техники, как предварительная проверка дискового пространства, отложенная синхронизация, запись блоков в оптимальном порядке, разбиение операций сетевого чтения и записи на диск;
  • Высокая производительность: система управления кластером (компонент Cluster Manager) замкнут на самом себе и не зависит от внешних СУБД и распределённых кэшей;
  • Автоматическая изоляция сбойных узлов для повышения стабильности всей сети доставки файлов;
  • Отсутствие нагрузки на базовый сервер, который предоставляет исходные файлы - по сути нагрузка на такой сервер сводится к нескольким загрузкам файла менеджером кластера;
  • Поддержка штатных HTTP-заголовков, в том числе возможность подстановки информации об аутентификации через HTTP-заголовки;
  • Эффективное управление нагрузкой на реестр аутентификации (Registry Auth Service);
  • Простая настройка, для начала работы необходимо внести минимальные изменения в конфигурацию. Для развёртывания сети требуется создание сервера с менержером кластера и установка на каждый клиент специального ПО.


  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: Для Linux предложена новая ФС NOVA, спроектированная для NVM-памяти
  3. OpenNews: Выпуск открытой P2P-системы синхронизации файлов Syncthing 0.14
  4. OpenNews: Представлена распределённая система доставки web-контента CacheP2P
  5. OpenNews: Релиз GNUnet 0.10, фреймворка для построения безопасных P2P-сетей
  6. OpenNews: Система построения CDN-сети Traffic Control получила статус первичного проекта Apache
Лицензия: CC-BY
Тип: Программы
Ключевые слова: dragonfly, alibaba, cdn, proxy, p2p
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Показать все | RSS
 
  • 1.1, Аноним, 21:58, 13/06/2018 [ответить] [смотреть все]     [к модератору]
  • –15 +/
    А вот мне интересно Мой оператор - бывший Сибирьтелеком Ныне стал Ростелекомом... весь текст скрыт [показать]
     
     
  • 2.8, Paul Zhirnov, 22:35, 13/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +3 +/
    твой ип-адресс записывается в трекере и в dht и считается живым в течении часа п... весь текст скрыт [показать] [показать ветку]
     
  • 2.9, username, 22:36, 13/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +5 +/
    Ну, это обычное дело когда у вас часто меняется ип Ничего страшного в этом нет,... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.15, Аноним, 23:33, 13/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    Может лучше автобан незапрошенных соединений делать?
     
  • 2.23, Аноним, 05:22, 14/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +2 +/
    Я приятном удивлении от формулировки вопроса Полагаю, что тут комбинация несколь... весь текст скрыт [показать] [показать ветку]
     
  • 2.52, XoRe, 22:30, 17/06/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    > Единственная "засада" - каждые 24 часа IP меняется. Я бы уже давно сделал общедоступный сервак для кучи игр, если бы не это.

    Тоже мне проблема. Настройте ddns, чтобы он обновлял ip раз в минуту по крону. И dns записи сделайте expire 60 секунд. И будет у вас постоянное доменное имя, которое не зависит от ip адреса.
    А если доменное имя некрасивое, но есть свой домен, можно сделать красивый адрес, вида myserver.domain.net, который будет ссылаться (я про CNAME) на это некрасивое доменное имя.

     
  • 1.3, Аноним, 22:25, 13/06/2018 [ответить] [смотреть все]    [к модератору]  
  • –11 +/
    Чем полезна эта алибаба? Это аналог амазона чтоль?
     
     
  • 2.4, Аноним, 22:28, 13/06/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +1 +/
    Что такое "амазон"?
     
     
  • 3.12, Аноним, 22:37, 13/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +23 +/
    Запрещённая в РФ организация.
     
     
  • 4.18, Аноним, 23:53, 13/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • –2 +/
    Причем запрещенная со стороны Amazon.
     
  • 2.13, Crazy Alex, 22:38, 13/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +1 +/
    Примерно да Причём от торговли всякой ерундой до облаков и онлайн-контента А в... весь текст скрыт [показать] [показать ветку]
     
  • 2.24, Аноним, 05:23, 14/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Она полезна своим акционерам, в первую очередь Мегакорпорация... весь текст скрыт [показать] [показать ветку]
     
  • 2.27, лютый охохоня..., 07:47, 14/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –10 +/
    Алибаба это сборище китаёз-мошенников Без репутации, стыда, чести и совести За... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.30, Аноним, 08:54, 14/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +3 +/
    Еще как смешно На али выходит в два раза дешевле, чем у местных барыг, а на ёбе... весь текст скрыт [показать]
     
     
  • 4.50, Аноним84701, 00:38, 16/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Брал через амазон у дядюшки Ляо ultrabay адаптер под халявную SSD Тянет заявле... весь текст скрыт [показать]
     
  • 3.34, Аноним, 09:13, 14/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +3 +/
    Походу ты очень скромный человек Настолько скромный что постеснялся прочитать п... весь текст скрыт [показать]
     
  • 3.37, Аноним, 11:03, 14/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    А у меня другой опыт За три года мы с женой больше 200 покупок сделали там в су... весь текст скрыт [показать]
     
     
  • 4.39, Аноним, 12:56, 14/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Зачем, если можно найти тех, кто продаёт за пол цены Потом хоть будет повод пон... весь текст скрыт [показать]
     
  • 3.42, Клыкастый, 14:20, 14/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    ебей это дааааа выигрываешь аукцион если не заплатил ты - кары небесные е... весь текст скрыт [показать]
     
     
  • 4.48, нах, 15:26, 15/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    через месячишко - это если тебе повезло и продавец выставил срок доставки в две ... весь текст скрыт [показать]
     
  • 1.11, Аноним, 22:37, 13/06/2018 [ответить] [смотреть все]     [к модератору]  
  • –6 +/
    Почему не 99 99999 Ощущение, будто не пост на техническом ресурсе, а колонку м... весь текст скрыт [показать]
     
     
  • 2.17, kptO, 23:42, 13/06/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +13 +/
    Потому что на пятой девятке начинается гомеопатия, а ресурс "технический"
     
  • 2.22, Аноним84701, 03:34, 14/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +1 +/
    Потому что читать все же лучше целыми предложениями да и по ссылкам на источник... весь текст скрыт [показать] [показать ветку]
     
  • 2.25, Аноним, 05:27, 14/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +2 +/
    Про колонку маркетоловов знаете, а по технической части полный ноль Странный пе... весь текст скрыт [показать] [показать ветку]
     
  • 2.28, КО, 08:30, 14/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +1 +/
    Потому, что они заметили что из мегабайта убегает куда-то один байт А в Вашем с... весь текст скрыт [показать] [показать ветку]
     
  • 1.16, max, 23:39, 13/06/2018 [ответить] [смотреть все]    [к модератору]  
  • +/
    странная новость, уже достаточно давно был открыт код
     
     
  • 2.19, Аноним, 23:54, 13/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Будто у кого-то есть какая-то потребность в этом ... весь текст скрыт [показать] [показать ветку]
     
  • 2.20, Аноним, 01:34, 14/06/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +1 +/
    На Опеннет иногда попадает то, что интересно, но ранее не освещалось.
     
     
  • 3.47, Аноним, 20:33, 14/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Нужно было написать что 5 лет назад был открыт исходный код в новости.
     
     
  • 4.53, XoRe, 22:34, 17/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    > Нужно было написать что 5 лет назад был открыт исходный код в
    > новости.

    2 года

     
  • 2.33, Аноним, 09:08, 14/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    странная- не странная новая-не новая какая вам разница о чем флудить ... весь текст скрыт [показать] [показать ветку]
     
  • 1.21, Аноним, 02:09, 14/06/2018 [ответить] [смотреть все]    [к модератору]  
  • +/
    Го , питон , жаба прям зоопарк.
     
     
  • 2.31, Аноним, 08:56, 14/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Ты конечно же можешь предъявить написанную тобой альтернативу на православных ся... весь текст скрыт [показать] [показать ветку]
     
  • 1.26, Стоп, 07:13, 14/06/2018 [ответить] [смотреть все]     [к модератору]  
  • –3 +/
    Отдать один файл куче пользователей Такой часто в жизни встречается, если не бр... весь текст скрыт [показать]
     
     
  • 2.29, КО, 08:33, 14/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Причем, по их задумке, контейнер для Докера Ну еще бы аналог ютюба, но зачем ты... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.32, Аноним, 09:01, 14/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Причуды причудливых еще причудливей Ведь файл не только отдается большому колич... весь текст скрыт [показать]
     
     
  • 4.46, КО, 17:27, 14/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Но для этого они должн сначала на ноды уйти Скачивать файл с сервера 1000 раз, ... весь текст скрыт [показать]
     
     
  • 5.49, нах, 15:34, 15/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    то есть как это не полезным Кому-то тот cdn принес пользы на 90000 ... весь текст скрыт [показать]
     
  • 3.36, тигарэтоя, 09:47, 14/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    серверов с тем же докером, может быть сотни очевидно, что было бы быстрее, напр... весь текст скрыт [показать]
     
  • 3.40, Andrey Mitrofanov, 12:57, 14/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Интернет-магазин заменяет броузер _быстрой_ доставкой бинарей Ужас-ужас Они у... весь текст скрыт [показать]
     
  • 2.35, тигарэтоя, 09:43, 14/06/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    если бы ты когда-либо делал хоть что-то близкое к cdn то вопроса не возникло бы,... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.41, Аноним, 13:16, 14/06/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Не в таргеме работал, случайно? :3
     
  • 3.44, Стоп, 14:29, 14/06/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    1 Сколько клиентов ставили бы докер для загрузки ваших бинарей 2 То что описа... весь текст скрыт [показать]
     
  • 1.38, th3m3, 12:41, 14/06/2018 [ответить] [смотреть все]    [к модератору]  
  • –2 +/
    Может я чего-то не так понимаю, но почему бы просто не взять IPFS? И зачем это цирк костылей - Go, Java и Python? Почему им было сразу не взять Rust?
     
     
  • 2.43, Клыкастый, 14:23, 14/06/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    > Может я чего-то не так понимаю, но почему бы просто не взять
    > IPFS? И зачем это цирк костылей - Go, Java и Python?
    > Почему им было сразу не взять Rust?

    Переделай как считаешь нужным.


     
  • 2.45, noise_poise, 16:50, 14/06/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    https://groups.google.com/forum/#!topic/golang-nuts/7WUj3nASuLo
     
  • 1.54, XoRe, 22:40, 17/06/2018 [ответить] [смотреть все]    [к модератору]  
  • +/
    > Отсутствие нагрузки на базовый сервер, который предоставляет исходные файлы - по сути нагрузка на такой сервер сводится к нескольким загрузкам файла менеджером кластера;

    Зато присутствие нагрузки на пиров (и на их канал), о чем как-то умалчивается.
    А, да, ещё на пирах должен быть запущен отдельный демон:
    > Dfdaemon (dfget) - написанный на языке Go процесс для распространения файлов или образов, который работает на стороне клиента (peer) и участвует непосредственно в доставке запрошенных блоков файла.

    Так что ребята из алибабы просто написали свой вариант торрента.
    Плюс добавили фишек для докера.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor