21
Антон Кортунов Я.Субботник в Санкт-Петербурге, 1 декабря 2012 Использование Elliptics в Яндексе

Антон Кортунов "Elliptics в Яндексе"

  • Upload
    yandex

  • View
    3.804

  • Download
    8

Embed Size (px)

DESCRIPTION

В докладе рассказано: кто, где и как уже использует Elliptics, что есть новенького и к кому пойти, если тоже хочется использовать его в своём проекте.

Citation preview

Page 1: Антон Кортунов "Elliptics в Яндексе"

Антон Кортунов

Я.Субботник в Санкт-Петербурге, 1 декабря 2012

Использование Elliptics в Яндексе

Page 2: Антон Кортунов "Elliptics в Яндексе"

Что такое Elliptics

Page 3: Антон Кортунов "Elliptics в Яндексе"

Elliptics network is a fault tolerant key/value storage. With default key

generation policy it implements distributed hash table object storage. The

network does not use dedicated servers to maintain the metadata information,

it supports redundant objects storage. Small to medium sized write

benchmarks can be found on eblob page and in the appropriate blog section.

http://www.ioremap.net/projects/elliptics

https://github.com/reverbrain/elliptics/

Page 4: Антон Кортунов "Elliptics в Яндексе"
Page 5: Антон Кортунов "Elliptics в Яндексе"
Page 6: Антон Кортунов "Elliptics в Яндексе"

DHT инсталляция

Page 7: Антон Кортунов "Elliptics в Яндексе"

• Реализует DHT

• Используется в: o Яндекс.Музыка

o Яндекс.Карты

o Яндекс.Маркет

o …

• Доступ через HTTP Proxy

Page 8: Антон Кортунов "Elliptics в Яндексе"

Полные реплики в разных ДЦ

Page 9: Антон Кортунов "Elliptics в Яндексе"

Уже работает

• Elliptics как хранилище в CDN

• POHMELFS – POSIX файловая система как

фронтэнд к хранилищу

• Grape – realtime вычислительная

платформа

• Бэкэнды: eblob, leveldb, smack

Page 10: Антон Кортунов "Elliptics в Яндексе"

Достоинства

• Линейная масштабируемость

• Отсутствие мастер-нод

• Простота маршрутизации: поиск ноды за

O(1)

Page 11: Антон Кортунов "Elliptics в Яндексе"

11

Серебряной пули не бывает

Page 12: Антон Кортунов "Elliptics в Яндексе"

Недостатки

• Сложно добавлять машины

• Невозможность управления нагрузкой на

машины

• Сложно восстанавливать

Page 13: Антон Кортунов "Elliptics в Яндексе"

Добавление машины

Page 14: Антон Кортунов "Elliptics в Яндексе"

Управляемый Elliptics

Page 15: Антон Кортунов "Elliptics в Яндексе"

15

Устройство

• Mastermind – распределённый

балансировщик нагрузки

• Работает под Cocaine

• Много маленьких групп вместо больших

• Куда писать – решает балансировщик,

учитывая нагрузку и ресурсы нод

Page 16: Антон Кортунов "Elliptics в Яндексе"

16

Достоинства

• Легко и просто восстанавливать

• Подходит для бесконечных хранилищ UGC

• Нет мастер-нод

Page 17: Антон Кортунов "Elliptics в Яндексе"

17

Серебряной пули не бывает

Page 18: Антон Кортунов "Elliptics в Яндексе"

18

Недостатки

• Надо где-то хранить номера групп

• У каждого сервиса должна быть метабаза

• Метабазу можно поднять и в Elliptics, но

доступ будет за 2 хита

Page 19: Антон Кортунов "Elliptics в Яндексе"

Эволюция Elliptics

DHT инсталляция

Управляемый Elliptics

Page 20: Антон Кортунов "Elliptics в Яндексе"

20

Где почитать

• https://github.com/reverbrain/elliptics/

• http://elliptics.ru/ (есть форум)

• http://www.ioremap.net/

Page 21: Антон Кортунов "Elliptics в Яндексе"

Антон Кортунов

Разработчик

распределённого хранилища

[email protected]