Your SlideShare is downloading. ×
World of tanks: высокие нагрузки
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

World of tanks: высокие нагрузки

593
views

Published on

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
593
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. WORLD OF TANKS: ВЫСОКИЕ НАГРУЗКИ МАКСИМ МЕЛЬНИКОВ
  • 2. КТО Я Wargaming.net Order of War Order of War: Challenge World of Tanks developer Linux Mobile hobbyist Openmoko systemd telepathy Gentoo World of Tanks: высокие нагрузки, Максим Мельников
  • 3. WORLD OF TANKS СЕГОДНЯ 800k одновременно играющих в пике 8M сообщений в секунду 300 серверов для обслуживания игры 60M посещений игрового портала в месяц 5PB (петабайт) на установку и обновления игрового клиента в месяц World of Tanks: высокие нагрузки, Максим Мельников
  • 4. СОДЕРЖАНИЕ Вступление Фрагменты архитектуры Игровой cервер Сетевой трафик Метакластер Веб Обновление клиента Заключение World of Tanks: высокие нагрузки, Максим Мельников
  • 5. АРХИТЕКТУРА WORLD OF TANKS клиент игры — тонкий клиент, плеер сервер — расчёт игрового мира кластер — сотни процессов работающих как единое целое (сервер) игровой мир — пошаговый, шаги очень маленькие World of Tanks: высокие нагрузки, Максим Мельников
  • 6. АРХИТЕКТУРА КЛАСТЕРА Storage* Nodes Managers MySQL BaseApp BaseAppMgr MySQL* CellApp CellAppMgr RabbitMQ LoginApp DbMgr World of Tanks: высокие нагрузки, Максим Мельников
  • 7. АРХИТЕКТУРА КЛАСТЕРА II BaseApp CellApp Account Arena ChatChannel Avatar Clan Vehicle Admin TeamBase SysMessenger AreaDestructibles Node Node World of Tanks: высокие нагрузки, Максим Мельников
  • 8. РАЗРАБОТКА СЕРВЕРА 1. обычный Python 2. GC выключен 3. немного C++ 4. RPC - на базе сообщений 5. UDP-based протокол с гарантией доставки World of Tanks: высокие нагрузки, Максим Мельников
  • 9. ОТКАЗОУСТОЙЧИВОСТЬ объекты только в памяти репликация объектов на случай отказа World of Tanks: высокие нагрузки, Максим Мельников
  • 10. СЕТЕВОЙ ТРАФИК 1. 8M уникальных UDP пакетов в секунду 2. 16 Gbps на 800k пользователей World of Tanks: высокие нагрузки, Максим Мельников
  • 11. НЕРАВНОМЕРНЫЙ ТРАФИК 800k пакетов в 1ms 10k пакетов в следующие 99ms World of Tanks: высокие нагрузки, Максим Мельников
  • 12. ПРОБЛЕМЫ РОСТА совсем не угадали размер аудитории на старте постоянный рост аудитории недоработки и нехватка оборудования постоянный аврал предел масштабирования кластера World of Tanks: высокие нагрузки, Максим Мельников
  • 13. ПЕРЕЕЗДЕЦ много кластеров быстрое перемещение между кластерами выделенный кластер для хранения данных World of Tanks: высокие нагрузки, Максим Мельников
  • 14. АРХИТЕКТУРА МЕТАКЛАСТЕРА Центр Периферия RU1, RU2, ... постоянное хранилище временное хранилище аккаунты (proxy) аккаунты взаимодействие с web-ом бои World of Tanks: высокие нагрузки, Максим Мельников
  • 15. ПРEИМУЩЕСТВА МЕТАКЛАСТЕРА 1. масштабируемость 2. гео-распределённость 3. отказоустойчивость 4. независимость World of Tanks: высокие нагрузки, Максим Мельников
  • 16. ВЕБ регистрация раздача обновлений новости управление пользователями статьи и описания профиль игрока медиа контент статистика платёжная форма рейтинги обработка платежей ... World of Tanks: высокие нагрузки, Максим Мельников
  • 17. ИНТЕГРАЦИЯ С ИГРОВЫМ СЕРВЕРОМ AMQP — протокол взаимодействия с игровым сервером XML-RPC обёртка над AMQP реплика данных игры в реляционном виде World of Tanks: высокие нагрузки, Максим Мельников
  • 18. СЕРВИСНАЯ АРХИТЕКТУРА множество различных проектов протоколы взаимодействия: AMQP, HTTP, SQL, XML-RPC World of Tanks: высокие нагрузки, Максим Мельников
  • 19. СТЭК ТЕХНОЛОГИЙ LNAMPMR Другое Linux uwsgi nginx Twisted Apache (mod_wsgi) Php MySQL Ruby Python (Django) PostgreSQL memcached MongoDB RabbitMQ Redis World of Tanks: высокие нагрузки, Максим Мельников
  • 20. ОБНОВЛЕНИЕ КЛИЕНТА отдельный процесс который занимается обновлениями поддержка http и torrent протоколов 2M игроков размер обновления 1GB нет возможности раздавать обновление заранее короткая сессия участия игроков в раздаче World of Tanks: высокие нагрузки, Максим Мельников
  • 21. CБОР СТАТИСТИКИ 1. Launcher файл размер время протокол источник 2. tracker 3. CDN World of Tanks: высокие нагрузки, Максим Мельников
  • 22. РЕШЕНИЕ наши torrent сервера — всегда в top-е web seed-ы World of Tanks: высокие нагрузки, Максим Мельников
  • 23. ИДЕИ главное — скорость и простота разработки не стоит боятся гетерогенной среды синхронный подход везде где можно асинхронный — только там, где это необходимо AMQP — отличный протокол для реализации RPC работа с объектами в памяти самая быстрая World of Tanks: высокие нагрузки, Максим Мельников
  • 24. СПАСИБО ЗА ВНИМАНИЕ. ВОПРОСЫ Максим Мельников mailto:m_melnikau@wargaming.net https://plus.google.com/114669104565190507739/ https://twitter.com/max_posedon http://wargaming.com