World of Tanks: один миллион игроков онлайн

1,132 views
1,093 views

Published on

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,132
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
6
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

World of Tanks: один миллион игроков онлайн

  1. 1. WORLD OF TANKS ОДИН МИЛЛИОН ИГРОКОВ ОНЛАЙН МАКСИМ МЕЛЬНИКОВ
  2. 2. КТО Я Разработчик в Wargaming (Минск, Беларусь) Order of War Order of War: Challenge World of Tanks developer Linux Mobile hobbyist Openmoko systemd telepathy Gentoo World of Tanks: один миллион игроков онлайн, Максим Мельников
  3. 3. WORLD OF TANKS mmorpg fps о танках 15x15 pvp World of Tanks: один миллион игроков онлайн, Максим Мельников
  4. 4. WORLD OF TANKS СЕГОДНЯ 1.1M одновременно играющих в пике 11M сообщений в секунду 500 серверов для обслуживания игры 60M посещений игрового портала в месяц 6PB (петабайт) на установку и обновления игрового клиента в месяц World of Tanks: один миллион игроков онлайн, Максим Мельников
  5. 5. ЧИТЕРЫ много игроков хотят читить читеры делают других игроков несчасными ксенофобия World of Tanks: один миллион игроков онлайн, Максим Мельников
  6. 6. МАСШТАБИРОВАНИЕ лучше продукт — больше игроков больше игроков — больше серверов больше серверов — сильнее проблема синхронизации World of Tanks: один миллион игроков онлайн, Максим Мельников
  7. 7. ПРОБЛЕМА ЕДИНОГО ДАТАЦЕНТРА латентность доступность единая точка отказа World of Tanks: один миллион игроков онлайн, Максим Мельников
  8. 8. БИГ ДАТА больше игроков — больше данных больше данных — больше дисков внезапно, нужны совершенно новые решения для хранения данных World of Tanks: один миллион игроков онлайн, Максим Мельников
  9. 9. БЫСТРЫЙ РОСТ простые решения — время выхода на рынок большой успех — простые решения совершенно непригодными переделывание всего на лету изменение бизнес требований каждый день World of Tanks: один миллион игроков онлайн, Максим Мельников
  10. 10. НИКТО ВАМ НЕ ПОМОЖЕТ нет времени на обучение людей нет времени на ожидаение поддержки от сторонних вендоров нет времени на написание хороших, правильных решений World of Tanks: один миллион игроков онлайн, Максим Мельников
  11. 11. ПОЛНЫЙ КОНТРОЛЬ софт железо данные команда World of Tanks: один миллион игроков онлайн, Максим Мельников
  12. 12. LINUX И OPEN SOURCE готовые к использованию компоненты хорошая документация возможность костомизации когда необходимо наём людей с необходимыми навыками World of Tanks: один миллион игроков онлайн, Максим Мельников
  13. 13. АРХИТЕКТУРА WORLD OF TANKS клиент игры — тонкий клиент, плеер сервер — расчёт игрового мира кластер — сотни процессов работающих как единое целое (сервер) игровой мир — пошаговый, шаги очень маленькие World of Tanks: один миллион игроков онлайн, Максим Мельников
  14. 14. КОМПОНЕНТЫ СЕРВЕРА Хранилище MySQL MySQL* RabbitMQ Вычислительные узлы BaseApp CellApp LoginApp Дирижёры BaseAppMgr CellAppMgr DbMgr World of Tanks: один миллион игроков онлайн, Максим Мельников
  15. 15. АРХИТЕКТУРА КЛАСТЕРА World of Tanks: один миллион игроков онлайн, Максим Мельников
  16. 16. РАЗРАБОТКА СЕРВЕРА 1. обычный Python 2. GC выключен 3. немного C++ 4. RPC - на базе сообщений 5. UDP-based протокол с гарантией доставки World of Tanks: один миллион игроков онлайн, Максим Мельников
  17. 17. ОТКАЗОУСТОЙЧИВОСТЬ объекты только в памяти репликация объектов на случай отказа World of Tanks: один миллион игроков онлайн, Максим Мельников
  18. 18. ПЕРЕЕЗДЕЦ много кластеров быстрое перемещение между кластерами выделенный кластер для хранения данных World of Tanks: один миллион игроков онлайн, Максим Мельников
  19. 19. АРХИТЕКТУРА МЕТАКЛАСТЕРА Центр постоянное хранилище аккаунты (proxy) взаимодействие с web-ом Периферия RU1, RU2, ... временное хранилище аккаунты бои World of Tanks: один миллион игроков онлайн, Максим Мельников
  20. 20. ПРЕИМУЩЕСТВА МЕТАКЛАСТЕРА 1. масштабируемость 2. гео-распределённость 3. отказоустойчивость 4. независимость World of Tanks: один миллион игроков онлайн, Максим Мельников
  21. 21. ПРОДАКШН 1. 500 серверов 2. 8k CPU ядер 3. 32 TB RAM 4. Linux World of Tanks: один миллион игроков онлайн, Максим Мельников
  22. 22. ГЛАВНАЯ ИГРОВАЯ БАЗА: MYSQL размер базы: 300 GB 384 GB RAM Percona 5.5 (buffer pool warming — 1GBps) 40k SELECT, 1k INSERT, 1k UPDATE в секунду 24 HDD ∗ 600 GB ∗ 0.5 = 6 TB World of Tanks: один миллион игроков онлайн, Максим Мельников
  23. 23. ВЕБ ЗАДАЧИ регистрация новости статьи и описания медиа контент платёжная форма обработка платежей раздача обновлений управление пользователями профиль игрока статистика рейтинги ... World of Tanks: один миллион игроков онлайн, Максим Мельников
  24. 24. ИНТЕГРАЦИЯ С ИГРОВЫМ СЕРВЕРОМ AMQP — протокол взаимодействия с игровым сервером XML-RPC обёртка над AMQP реплика данных игры в реляционном виде World of Tanks: один миллион игроков онлайн, Максим Мельников
  25. 25. СЕРВИСНАЯ АРХИТЕКТУРА множество различных проектов протоколы взаимодействия: AMQP, HTTP, SQL, XML-RPC World of Tanks: один миллион игроков онлайн, Максим Мельников
  26. 26. LNAMPMR World of Tanks: один миллион игроков онлайн, Максим Мельников
  27. 27. Other World of Tanks: один миллион игроков онлайн, Максим Мельников
  28. 28. КЛЮЧИ К УСПЕХУ полный контроль над всем Linux на сервере опора на Open Source главное — скорость и простота разработки не стоит боятся гетерогенной среды синхронный подход везде где можно асинхронный — только там, где это необходимо AMQP — отличный протокол для реализации RPC работа с объектами в памяти самая быстрая World of Tanks: один миллион игроков онлайн, Максим Мельников
  29. 29. СПАСИБО ЗА ВНИМАНИЕ. ВОПРОСЫ МАКСИМ МЕЛЬНИКОВ mailto:m_melnikau@wargaming.net https://plus.google.com/+MaksimMelnikau/ https://twitter.com/max_posedon http://wargaming.com

×