Полезноe
бесплатная книга Продуманная оптимизация
Материалы HighLoad++
материалы За все восемь лет вебинар Пошаговый
алгоритм
вебинар Вопросы
и ответы
Презентации
2014 года
Видеозаписи
2014 года
Как это было
книга Услуги и скидки корпоративный Обучающий тренинг Тезисы и расписание Шаржи на докладчиков
2014 года

HighLoad++

31 октября
и 1 ноября
Место проведения: Москва,
Краснопресненская наб. 12.

«Облако» в Badoo год спустя: работа над ошибками
Архитектуры

Доклад принят в Программу конференции
Badoo

Ведущий разработчик в Badoo, работаю в отделе «платформы». Один из основных разработчиков «облака» (системы для распределенного запуска cli-скриптов по расписанию). Также занимался deployment и системой переводов. В веб-разработке около 10 лет, из которых 3 года в Badoo.

Видео

Тезисы

Тезисы
· Общая архитектура: история создания, распределение нагрузки, отказоустойчивость.
· Логи скриптов: сбор, индексация, различные виды просмотра.
· Влияние Google App Engine — «облачный» разборщик очередей.
· Проблемы, с которыми мы столкнулись.
· Планы на будущее: phproxyd на PHP, управляющая логика на Go.
· Как мы бы реализовали «облако» сейчас: Go, Tarantool, ...

Описание
В прошлом году мы рассказывали о новой системе, которую мы назвали «облаком для скриптов» или «облачным cron'ом». Система служит для распределенного запуска скриптов по расписанию с автоматической балансировкой нагрузки и устойчивостью к «падениям» отдельных машин. Изначально система была построена на PHP, MySQL и легковесном самописном демоне — phproxyd, который «умеет» запускать скрипты на машине и отдавать информацию о статусе их исполнения.

Я кратко повторю содержимое предыдущего доклада, где была описана архитектура «облака» и его основные компоненты, после чего оставшаяся часть будет посвящена граблям, на которые мы наступили и планам на будущее.

Главные демоны нашего «облака» всё ещё работают на немного модифицированном прототипе, который был написан в первые недели разработки, при этом за год суммарный простой составил 3 часа, что дает uptime 99,97%. Тем не менее, у нас есть много идей для улучшения:
- перевод управляющей логики с PHP на Go;
- перевод phproxyd с Си на PHP (!), для экономии на запуске интерпретатора;
- возможный переход на Tarantool для хранения текущего состояния скриптов;
- длительное хранение логов, индексирование .gz-файлов для просмотра информации даже по очень старым запускам;
- улучшения в балансировщике (итеративное «уточнение» весов вместо использования «попугаев»).

В конце я постараюсь рассказать о том, как бы мы проектировали нашу систему сейчас, учитывая накопленный опыт. Будет сказано о недостатках MySQL (InnoDB) для хранения часто меняющегося состояния, о том, как сломать встроенную репликацию, и, что не менее важно, починить ее обратно на «живой» системе с очень высокой нагрузкой.

Другие доклады секции
Архитектуры

Спонсоры конференции

  • Nutanix
  • Webzilla
  • Badoo
  • Parallels
  • Филанко
  • Treatface
  • Selectel

Информационная поддержка

  • SQLInfo.ru
  • Интернет Хостинг Центр
  • Sports.ru
  • Rusonyx
  • Adriver
  • SuperJob
  • REG.RU
  • ООО «Юмисофт»
  • Агава
  • PCWeek
  • PС Мagazine
  • Bugtraq.ru
  • TRINET
  • FL.ru
  • Телеканал «Конференция ТВ»
По любым вопросам обращайтесь:
Бухгалтерия и вопросы оплаты :
Олег Бунин , +7(495) 646-07-68
Организационный комитет :
Олег Бунин , +7 (495) 646-07-68
Программный комитет :
Олег Бунин , +7 (916) 635-95-84
Горячая линия :
+7 (495) 646-07-68, ежедневно с 10 до 22

Почтовый адрес:
119180, Москва, Бродников пер., д. 7 стр. 1, +7 (495) 646-07-68 ООО «Онтико»

Rambler's Top100
Рейтинг@Mail.ru