Александр Киракозов "Архитектура загрузчика...

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