The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Компания Alibaba открыла код P2P-системы доставки файлов Dra..."
Отправлено opennews, 13-Июн-18 21:58 
Alibaba (https://ru.wikipedia.org/wiki/Alibaba_Group), одна из крупнейших китайских IT-компаний, открыла исходные тексты распределённой системы доставки файлов Dragonfly (https://alibaba.github.io/Dragonfly/), использующей механизмы P2P-коммуникаций для построения сети распространения контента. Система подходит для организации загрузки файлов, создания распределённых кэшей, систем доставки приложений и образов изолированных контейнеров. Код проекта написан на языках Go, Java и Python, и распространяется (https://github.com/alibaba/Dragonfly) под лицензией Apache 2.0.

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


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


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


Базовые компоненты  Dragonfly (в будущем все компоненты планируется переписать на языке Go):


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


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

-  Getter - написанный на Python модуль, отвечающий за передачу файлов и организацию совместного доступа к ним.


Основные возможности:

-  Использование P2P-технологии (https://github.com/alibaba/Dragonfly/blob/master/docs/en/arc... для передачи файлов - каждый клиент Dragonfly является звеном, транслирующим уже полученные данные другим клиентам. Каждый файл разбивается на несколько блоков, которые отдельно передаются между разными узлами (peer). Работа каждого узла P2P-сети обеспечивается  отдельным клиентом. Централизованный менеджер кластера имеет информацию о разбивке файлов и о том, какие блоки имеются на каком клиенте, а также осуществляет первичную загрузку файлов из исходного файлового сервера;


-  Возможность интеграции с инструментариями контейнерной изоляции для организации распределённой доставки образов контейнеров;

-  Возможность ограничения суммарной пропускной способности на уровне всего хоста, а не только на уровне отдельных соединений;

-  Работа в форме пассивной сети доставки контента (CDN), позволяющей избежать повторяющихся удаленных загрузок;


-  Гарантированное обеспечение целостности передаваемых файлов, без необходимости дополнительной проверки пользователем контрольных сумм;

-  Оптимальное  хранение данных на диске и эффективный ввод/вывод. Например, применяются такие техники, как предварительная проверка дискового пространства, отложенная синхронизация, запись блоков в оптимальном порядке, разбиение операций сетевого чтения и записи на диск;

-  Высокая производительность: система управления кластером (компонент Cluster Manager) замкнут на самом себе и не зависит от внешних СУБД и распределённых кэшей;

-  Автоматическая изоляция сбойных узлов для повышения стабильности всей сети доставки файлов;

-  Отсутствие нагрузки на базовый сервер, который предоставляет исходные файлы - по сути нагрузка на такой сервер сводится к нескольким загрузкам файла менеджером кластера;

-  Поддержка штатных HTTP-заголовков, в том числе возможность подстановки информации об аутентификации через HTTP-заголовки;

-  Эффективное управление нагрузкой на реестр аутентификации (Registry Auth Service);

-  Простая настройка, для начала работы необходимо внести минимальные изменения (https://github.com/alibaba/Dragonfly/tree/master/docs/en) в конфигурацию. Для развёртывания сети требуется создание (https://github.com/alibaba/Dragonfly/blob/master/docs/en/usa... сервера с менержером кластера и установку (https://github.com/alibaba/Dragonfly/blob/master/docs/en/ins... на каждый клиент специального ПО.

URL: https://news.ycombinator.com/item?id=17303055
Новость: https://www.opennet.ru/opennews/art.shtml?num=48773

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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