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.dev/opennews/art.shtml?num=48773
А вот мне интересно. Мой оператор - бывший Сибирьтелеком. Ныне стал Ростелекомом. Но база осталась от Сибирьтелекома. Вот что выдаёт мне сейчас myip.ru:Ваш IP-адрес
92.20.15.4
Имя вашего хоста
92-20-15-4-bbc-dynamic.kuzbass.netЯ тут пару цыфорок поменял, так как не в них суть.
Тут каждый абонент имеет прямой IP. Не надо ничего покупать. Видать, у Кузбасс.нета был куплен в своё время большой блок IP-адресов. (извините если "спалил" кому-то контору). Единственная "засада" - каждые 24 часа IP меняется. Я бы уже давно сделал общедоступный сервак для кучи игр, если бы не это.
Вопрос знатокам. Когда я не запускаю ни торренты, ни браузер, на роутере не мигает лампочка приёма-получения. Когда я запускаю браузер, лампочки мигают, когда выключаю браузер, перестают мигать. Когда я запускаю торренты, лампочки мигают, а когда выключаю, продолжают мигать. Видать, пиры продолжают связываться с моим торрент-клиентом, причём отправяют UDP-запросы, которые не требуют ответа.
На скорость интернета никак не влияет. А через 24 часа (или после перезагрузки роутера) меняется IP, и лампочки снова не мигают. UDP-запросы идут на старый IP.
А почему, когда у меня меняется IP, мне не начинают приходить UDP-запросы, предназначенные предыдущему пользователю этого IP? Допустим, мне только что выдали IP, которым пользовался кто-то, кто тоже запускал торренты. Потом он торренты выключил, но запросы продолжают приходить. Как Сибирьтелеком (Ростелеком) заставляет их заткнуться и перестать слать UDP-запросы? И можно ли избавиться от лишних UDP-запросов, не перезагружая роутер?
твой ип-адресс записывается в трекере и в dht и считается живым в течении часа после последней твоей связи с трекером или данным узлом dht.
список на твоем торенте тухнет тоже за час, так что торрент-клиент научен раз в полчаса (или другое время меньшее часа) простукиваться по всем ресурсам и отмечать "я жыв".
так что если ты не стукнешься в течении часа твой ип будет выкинут из списка рабочих.
а если нет - то отправлен любому запрашивающему списки ип по хешу куска данных.
Ну, это обычное дело когда у вас часто меняется ип. Ничего страшного в этом нет, будут слать пока не отпадут по своим таймаутам. Трафик незначительный.
Может вам лучше к врачу?
Может лучше автобан незапрошенных соединений делать?
Я приятном удивлении от формулировки вопроса> А почему, когда у меня меняется IP, мне не начинают приходить UDP-запросы, предназначенные предыдущему пользователю этого IP?
Полагаю, что тут комбинация нескольких факторов - новый IP до этого не использовался какое-то время, поэтому о нем все забыли, на новом IP не использовались торренты.
Вообще, в целях любознательности, рекомендую запустить wireshark на интерфейсе с белым IP - очень познавательно, сразу начинаешь представлять масштабы глобального интеренета. Чего только не прилетает! А это всего лишь конечная точка, можно представить, что проходит через транзитные узлы (всё и проходит! поэтому вопрос о шифровании трафика кажется смешным - это и не вопрос, а необходимость)
> Единственная "засада" - каждые 24 часа IP меняется. Я бы уже давно сделал общедоступный сервак для кучи игр, если бы не это.Тоже мне проблема. Настройте ddns, чтобы он обновлял ip раз в минуту по крону. И dns записи сделайте expire 60 секунд. И будет у вас постоянное доменное имя, которое не зависит от ip адреса.
А если доменное имя некрасивое, но есть свой домен, можно сделать красивый адрес, вида myserver.domain.net, который будет ссылаться (я про CNAME) на это некрасивое доменное имя.
А что мешает купить выделенный сервер за 5$ на том же DigitalOcean, Cloud4u и т.д.?
Чем полезна эта алибаба? Это аналог амазона чтоль?
Что такое "амазон"?
Запрещённая в РФ организация.
Причем запрещенная со стороны Amazon.
Примерно да. Причём от торговли всякой ерундой до облаков и онлайн-контента. А вообще - википедия в помощь.
> Чем полезна эта алибаба? Это аналог амазона чтоль?Она полезна своим акционерам, в первую очередь. Мегакорпорация
> Чем полезна эта алибаба? Это аналог амазона чтоль?Алибаба это сборище китаёз-мошенников. Без репутации, стыда, чести и совести. Заказывал радиодетальки - первая посылка на 50 баксов нормально, вторая на 300 уже с мусором приехала.
Жаловаться можно на выбор: Путену, в спортлото и Маодзедуну.С ебеем и амазоном смешно сравнивать.
>С ебеем и амазоном смешно сравнивать.Еще как смешно. На али выходит в два раза дешевле, чем у местных барыг, а на ёбее с амазоном - в три дороже. Хотя, если чем дороже - тем понтовее, тогда амазоны - то, что доктор прописал.
> На али выходит в два раза дешевле, чем у местных барыг , а на ёбее с амазоном - в три дороже.Брал через амазон у дядюшки Ляо ultrabay адаптер под халявную SSD.
Тянет заявленные производителем 400-что-то-там MB/s, выглядит как ленововский, только стоил $8 (с пересылкой) вместо ~$50 за оригинал.
Брал у другого китайца док-станцию, $15 (вместо $150). Честно восстановленная, в отличном состоянии.
Что я делал не так и где именно тут п0нты? Предложите сравнимый по удобству и гарантиям, более дешевый и бесп0нтовый вариант для всякой мелочевки (нужной обычно в единственном экземпляре), буду только рад.Про ванну (70кг "посылочка"), бензопилу или 8м труб для скважины и еще кучу мелочи даже заикаться не буду, хотя там в основном смотрелось на качество, но цена все равно была заметно ниже "местных барыг". Тем более, если нужна настоящая Хускварна, а не китайское недоразумение с наклейкой.
А то, что и в амазонах и ебееях желательно внимательно ознакомиться не только с товаром, но и с ценой и продавцом, вроде как понимается само собой - впарить фуфло за трехкратную цену, это просто другой, более безопасный для продавца вариант нае**ва.
Зато, в случае проблем с товаром или продавцом, обратная пересылка и возврат денег организуется быстро и просто самим амазоном.
>> Чем полезна эта алибаба? Это аналог амазона чтоль?
> Алибаба это сборище китаёз-мошенников. Без репутации, стыда, чести и совести. Заказывал
> Жаловаться можно на выбор: Путену, в спортлото и Маодзедуну.Походу ты очень скромный человек. Настолько скромный что постеснялся прочитать правила пользования сервисом. А там сказано, что за товар не соответствующий описанию можно потребовать деньги назад. Что делается и деньги возвращаются.
>Заказывал радиодетальки - первая посылка на 50 баксов нормально, вторая на 300 уже с мусором приехала.А у меня другой опыт. За три года мы с женой больше 200 покупок сделали там в сумме тысяч эдак на 200 - только одна посылка рублей на 600 потерялась, остальные пришли в отличном виде и четко то, что нужно. Покупали одежду, обувь, бдсм-принадлежности, секс-игрушки, детали для станков, пару ксеонов, даже двухсокетовую материнку на 1366 сокет. Полет нормальный.
Так что тупо не повезло, бывает. Ну и выбирай продавцов с высоким рейтингом.
Зачем, если можно найти тех, кто продаёт за пол цены? Потом хоть будет повод поныть, что кинули. :D
ебей это дааааа..... выигрываешь аукцион. если не заплатил ты - кары небесные. если продавец не выслал товар - только деньги назад. через месячишко. всё для людей ©
через месячишко - это если тебе повезло и продавец выставил срок доставки в две недели. А он может выставить и пол-года.
Совет саппорта (третьего по счету, и он, с-ка, был индус - поэтому и помог. нэйтивы только сокрушались что ничего сделать не могут, но вы не беспокойтесь - ваш кредит этому узкоглазому под 0% всего через пол-годика вам вернут) - "а ты открой кейс на пэйпале, там не надо ждать пол-года - они ему счетец-то заблочат".
И действительно, мгновенно бабки вернул.Жулик, что характерно, не смотря на сотни жалоб, не заблокирован и "торгует" по сей день.
Рейтинг, разумеется - выше крыши. То ли обычная история с покупкой китайцем чьего-то хорошо раскрученного акаунта, то ли они до определенного момента и были честными - хз.Да-да, все это под песни "мы можем заблокировать ваш акаунт если нам не понравится цвет ваших глаз, для поддержания френдли и трастед среды в нашем чятике". Хорошо хоть палка от этой всеобщей любви и обожания немного в стороне.
На али такого деятеля выкинут, как только саппортам станет видно, что да, действительно не случайность.
>гарантирует надёжность на уровне 99.9999%Почему не 99.99999%? Ощущение, будто не пост на техническом ресурсе, а колонку маркетологов прочитал
Потому что на пятой девятке начинается гомеопатия, а ресурс "технический"
>>гарантирует надёжность на уровне 99.9999%
> Почему не 99.99999%? Ощущение, будто не пост на техническом ресурсе, а колонку маркетологов прочиталПотому что читать все же лучше целыми предложениями:
> По заявлению разработчиков, в отличие от [...] и гарантирует надёжность до 99.9999%.да и по ссылкам на источник ходить пока никто не запрещает
https://alibaba.github.io/Dragonfly/
> The reliability is up to 99.9999%Ваш КО
> колонку маркетологов прочиталПро колонку маркетоловов знаете, а по технической части полный ноль. Странный персонаж. Вот, популярно: https://en.wikipedia.org/wiki/High_availability
>>гарантирует надёжность на уровне 99.9999%
>Почему не 99.99999%?Потому, что они заметили что из мегабайта убегает куда-то один байт. А в Вашем случае только из десяти должен убегать. :)
странная новость, уже достаточно давно был открыт код
> странная новость, уже достаточно давно был открыт кодБудто у кого-то есть какая-то потребность в этом.
На Опеннет иногда попадает то, что интересно, но ранее не освещалось.
Нужно было написать что 5 лет назад был открыт исходный код в новости.
> Нужно было написать что 5 лет назад был открыт исходный код в
> новости.2 года
> странная новость, уже достаточно давно был открыт кодстранная- не странная.. новая-не новая... какая вам разница о чем флудить?
Го , питон , жаба прям зоопарк.
Ты конечно же можешь предъявить написанную тобой альтернативу на православных сях?
Вместо срачника могли бы просто спецификацию предложить может кто-то бы инаписал. Я бы вот косточки рязмял бы и на сях с удовольствием написал бы вместо идиотских библотечек для работы с ... впрчем это уже другая история.
Отдать один файл куче пользователей. Такой часто в жизни встречается, если не брать торренты?Какие-то странные кейсы у китайских лазадовцев.
>Отдать один файл куче пользователей.Причем, по их задумке, контейнер для Докера. Ну еще бы аналог ютюба, но зачем тыще людей одновременно понадобится один и тот же контейнер. Хотя причудливы порой пути человеческие.
>>Отдать один файл куче пользователей.
> Причем, по их задумке, контейнер для Докера. Ну еще бы аналог ютюба,
> но зачем тыще людей одновременно понадобится один и тот же контейнер.
> Хотя причудливы порой пути человеческие.Причуды причудливых еще причудливей. Ведь файл не только отдается большому количеству людей. Файл отдается ОДНОМУ потребителю с большого количества нод. Это сокращает нагрузку на источник и повышает скорость доставки. Вы как будто впервые в жизни услышали про CDN ...
Но для этого они должн сначала на ноды уйти. Скачивать файл с сервера 1000 раз, чтоб потом один раз отправить одному человеку из 1000 нод - то еще развлечение.P.S. Но здесь - http://www.opennet.dev/opennews/art.shtml?num=48777
Пояснили зачем. "В сумме вредоносные образы были загружено более 5 миллионов раз".
Тут да - распределенная закачка самое оно.
Только назвать этот случай "полезным", рука не поднимается. :)
> Только назвать этот случай "полезным", рука не поднимается. :)то есть как это не полезным? Кому-то тот cdn принес пользы на $90000
>>Отдать один файл куче пользователей.
> Причем, по их задумке, контейнер для Докера. Ну еще бы аналог ютюба,
> но зачем тыще людей одновременно понадобится один и тот же контейнер.
> Хотя причудливы порой пути человеческие.серверов с тем же докером, может быть сотни. очевидно, что было бы быстрее, например, обновлять контейнеры в случае, когда registry распределен. Когда клиент один и 1 реестр, то пофигу, а вот когда клиентов сотни - очевидно, что узким местом и станет тот-самый-один-реерстр.
>>Отдать один файл куче пользователей.
> Причем, по их задумке, контейнер для Докера. Ну еще бы аналог ютюба,
> но зачем тыще людей одновременно понадобится один и тот же контейнер.
> Хотя причудливы порой пути человеческие.Интернет-магазин заменяет броузер _быстрой_ доставкой бинарей.
Ужас-ужас. Они уже даже не 'curl |sudo bash' продают, а 'aria2c -x NNN |$ld-как-его-там'. //Они победили Ленарта по анти-bash-у, мофоко по анти-файерфоксу и w3c по анти-web-у!?
> Отдать один файл куче пользователей. Такой часто в жизни встречается, если не
> брать торренты?
> Какие-то странные кейсы у китайских лазадовцев.если бы ты когда-либо делал хоть что-то близкое к cdn то вопроса не возникло бы, ящитаю.
на позапрошлой моей работе раздавались патчи к игре с нескольких серверов (p2p в лончере так и не довели до работающего). вот в этом случае сабж бы помог крайне сильно, например.
Не в таргеме работал, случайно? :3
1) Сколько клиентов ставили бы докер для загрузки ваших бинарей?
2) То что описано в тестах и для судя по описанию, это явный случай B2B во внутренней сетке. Ваши клиенты живут во внутренней сети?
Может я чего-то не так понимаю, но почему бы просто не взять IPFS? И зачем это цирк костылей - Go, Java и Python? Почему им было сразу не взять Rust?
> Может я чего-то не так понимаю, но почему бы просто не взять
> IPFS? И зачем это цирк костылей - Go, Java и Python?
> Почему им было сразу не взять Rust?Переделай как считаешь нужным.
https://groups.google.com/forum/#!topic/golang-nuts/7WUj3nASuLo
> Отсутствие нагрузки на базовый сервер, который предоставляет исходные файлы - по сути нагрузка на такой сервер сводится к нескольким загрузкам файла менеджером кластера;Зато присутствие нагрузки на пиров (и на их канал), о чем как-то умалчивается.
А, да, ещё на пирах должен быть запущен отдельный демон:
> Dfdaemon (dfget) - написанный на языке Go процесс для распространения файлов или образов, который работает на стороне клиента (peer) и участвует непосредственно в доставке запрошенных блоков файла.Так что ребята из алибабы просто написали свой вариант торрента.
Плюс добавили фишек для докера.