View
1.489
Download
4
Category
Tags:
Preview:
DESCRIPTION
Каждый день на Яндекс.Диск заливается более десятка терабайт данных. Из доклада вы узнаете про то, как справиться с такой нагрузкой, и про другие интересные архитектурные особенности сервиса.
Citation preview
Александр Киракозов,
руководитель группы разработки
Я.Cубботник в Санкт-Петербурге, 1 декабря 2012
Архитектура загрузчика Яндекс.Диска
2
Яндекс.Диск — это...
• Бесплатный сервис для хранения и работы с файлами и
личной информацией пользователя
• Интерфейс для обмена файлами и совместной работы с
ними
• Просмотр офисных документов и прослушивание музыки
• Тесная интеграция с сервисами Яндекса (Почта, Народ)
3
Архитектура Яндекс.Диска
Applicationsuploader, downloader,
viewer
Mpfs
WebDAV
Web UI
desktop
Web Users
mobile
что угодно
API API
Почта
Народ
Что угодно
API
API
4
Архитектура загрузчика
uploader
mpfs metastorage
webdavweb UI
datastorage
local queue
client
Кодовое название “Кладун”
5
Задачи загрузчика
Загрузить файл:
• от пользователя
• с другого сервиса Яндексa
• на другой сервис Яндекса
6
Стадии задач
• Загрузить файл локально
• Подсчитать хеш
• Загрузить файл в сторадж
• Отправить статус загрузки в mpfs
• Создать превьюшки
• Проверить на вирусы
• ...
7
Состояние стадий
initial
fail
Temp fail
success
In progress
8
Настройки стадий
• Время выполнения
• Политики времени выполнения повторов
• Обязательность успешного выполнения
• Максимальное число одинаковых
парралельно выполняющихся стадий
9
Дедупликация данных
12% файлов не загружается заново
10
Докачка файлов
Только не дисконнект!!!
11
Загрузка изменений патчами
Отредактированный файл не будетзаливаться целиком
12
Ежедневные загрузки в Мб
13
Немного статистики
● каждый день заливается около 3 млн файлов
● уже загрузили 1,5 петабайта данных
14
Загрузчик в Яндекс.Видео
использует ту же технологию
15
Еще больше интересного про Яндекс.Диск
● «Архитектура сервиса Яндекс.Диск. Замыслы и реальность»,
Владимир Русинов. Минск, 2 июня 2012 года
http://bit.ly/V4V6vG
● «Яндекс.Диск: архитектура, синхронизация и многое другое»,
Владимир Русинов, Алексей Капранов. Москва, 28 июля 2012 года
http://bit.ly/VfFnjz
● API Яндекс.Диска
http://api.yandex.ru/disk/
Киракозов Александр
Руководитель группы
разработки
akirakozov@yandex-team.ru
@kirakozov
Recommended