SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
WORLD OF TANKS
ОДИН МИЛЛИОН ИГРОКОВ ОНЛАЙН
МАКСИМ МЕЛЬНИКОВ
КТО Я
Разработчик в Wargaming (Минск, Беларусь)
Order of War
Order of War: Challenge
World of Tanks developer
Linux Mobile hobbyist
Openmoko
systemd
telepathy
Gentoo
World of Tanks: один миллион игроков онлайн, Максим Мельников
WORLD OF TANKS
mmorpg
fps о танках
15x15 pvp
World of Tanks: один миллион игроков онлайн, Максим Мельников
WORLD OF TANKS СЕГОДНЯ
1.1M одновременно играющих в пике
11M сообщений в секунду
500 серверов для обслуживания игры
60M посещений игрового портала в месяц
6PB (петабайт) на установку и обновления игрового клиента в месяц
World of Tanks: один миллион игроков онлайн, Максим Мельников
ЧИТЕРЫ
много игроков хотят читить
читеры делают других игроков несчасными
ксенофобия
World of Tanks: один миллион игроков онлайн, Максим Мельников
МАСШТАБИРОВАНИЕ
лучше продукт — больше игроков
больше игроков — больше серверов
больше серверов — сильнее проблема синхронизации
World of Tanks: один миллион игроков онлайн, Максим Мельников
ПРОБЛЕМА ЕДИНОГО ДАТАЦЕНТРА
латентность
доступность
единая точка отказа
World of Tanks: один миллион игроков онлайн, Максим Мельников
БИГ ДАТА
больше игроков — больше данных
больше данных — больше дисков
внезапно, нужны совершенно новые решения для хранения данных
World of Tanks: один миллион игроков онлайн, Максим Мельников
БЫСТРЫЙ РОСТ
простые решения — время выхода на рынок
большой успех — простые решения совершенно непригодными
переделывание всего на лету
изменение бизнес требований каждый день
World of Tanks: один миллион игроков онлайн, Максим Мельников
НИКТО ВАМ НЕ ПОМОЖЕТ
нет времени на обучение людей
нет времени на ожидаение поддержки от сторонних вендоров
нет времени на написание хороших, правильных решений
World of Tanks: один миллион игроков онлайн, Максим Мельников
ПОЛНЫЙ КОНТРОЛЬ
софт
железо
данные
команда
World of Tanks: один миллион игроков онлайн, Максим Мельников
LINUX И OPEN SOURCE
готовые к использованию компоненты
хорошая документация
возможность костомизации когда необходимо
наём людей с необходимыми навыками
World of Tanks: один миллион игроков онлайн, Максим Мельников
АРХИТЕКТУРА WORLD OF TANKS
клиент игры — тонкий клиент, плеер
сервер — расчёт игрового мира
кластер — сотни процессов работающих как единое целое (сервер)
игровой мир — пошаговый, шаги очень маленькие
World of Tanks: один миллион игроков онлайн, Максим Мельников
КОМПОНЕНТЫ СЕРВЕРА
Хранилище
MySQL
MySQL*
RabbitMQ
Вычислительные узлы
BaseApp
CellApp
LoginApp
Дирижёры
BaseAppMgr
CellAppMgr
DbMgr
World of Tanks: один миллион игроков онлайн, Максим Мельников
АРХИТЕКТУРА КЛАСТЕРА
World of Tanks: один миллион игроков онлайн, Максим Мельников
РАЗРАБОТКА СЕРВЕРА
1. обычный Python
2. GC выключен
3. немного C++
4. RPC - на базе сообщений
5. UDP-based протокол с гарантией доставки
World of Tanks: один миллион игроков онлайн, Максим Мельников
ОТКАЗОУСТОЙЧИВОСТЬ
объекты только в памяти
репликация объектов на случай отказа
World of Tanks: один миллион игроков онлайн, Максим Мельников
ПЕРЕЕЗДЕЦ
много кластеров
быстрое перемещение между кластерами
выделенный кластер для хранения данных
World of Tanks: один миллион игроков онлайн, Максим Мельников
АРХИТЕКТУРА МЕТАКЛАСТЕРА
Центр
постоянное хранилище
аккаунты (proxy)
взаимодействие с web-ом
Периферия RU1, RU2, ...
временное хранилище
аккаунты
бои
World of Tanks: один миллион игроков онлайн, Максим Мельников
ПРЕИМУЩЕСТВА МЕТАКЛАСТЕРА
1. масштабируемость
2. гео-распределённость
3. отказоустойчивость
4. независимость
World of Tanks: один миллион игроков онлайн, Максим Мельников
ПРОДАКШН
1. 500 серверов
2. 8k CPU ядер
3. 32 TB RAM
4. Linux
World of Tanks: один миллион игроков онлайн, Максим Мельников
ГЛАВНАЯ ИГРОВАЯ БАЗА: 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: один миллион игроков онлайн, Максим Мельников
ВЕБ ЗАДАЧИ
регистрация
новости
статьи и описания
медиа контент
платёжная форма
обработка платежей
раздача обновлений
управление пользователями
профиль игрока
статистика
рейтинги
...
World of Tanks: один миллион игроков онлайн, Максим Мельников
ИНТЕГРАЦИЯ С ИГРОВЫМ СЕРВЕРОМ
AMQP — протокол взаимодействия с игровым сервером
XML-RPC обёртка над AMQP
реплика данных игры в реляционном виде
World of Tanks: один миллион игроков онлайн, Максим Мельников
СЕРВИСНАЯ АРХИТЕКТУРА
множество различных проектов
протоколы взаимодействия: AMQP, HTTP, SQL, XML-RPC
World of Tanks: один миллион игроков онлайн, Максим Мельников
LNAMPMR
World of Tanks: один миллион игроков онлайн, Максим Мельников
Other
World of Tanks: один миллион игроков онлайн, Максим Мельников
КЛЮЧИ К УСПЕХУ
полный контроль над всем
Linux на сервере
опора на Open Source
главное — скорость и простота разработки
не стоит боятся гетерогенной среды
синхронный подход везде где можно
асинхронный — только там, где это необходимо
AMQP — отличный протокол для реализации RPC
работа с объектами в памяти самая быстрая
World of Tanks: один миллион игроков онлайн, Максим Мельников
СПАСИБО ЗА ВНИМАНИЕ. ВОПРОСЫ
МАКСИМ МЕЛЬНИКОВ
mailto:m_melnikau@wargaming.net
https://plus.google.com/+MaksimMelnikau/
https://twitter.com/max_posedon
http://wargaming.com

Contenu connexe

Tendances

Алексей Андросов "HTML5 в Я.Почте"
Алексей Андросов "HTML5 в Я.Почте"Алексей Андросов "HTML5 в Я.Почте"
Алексей Андросов "HTML5 в Я.Почте"Yandex
 
Слава Машканов — “Wubuntu”: Построение гетерогенной среды Windows+Linux на н...
Слава Машканов — “Wubuntu”: Построение гетерогенной среды  Windows+Linux на н...Слава Машканов — “Wubuntu”: Построение гетерогенной среды  Windows+Linux на н...
Слава Машканов — “Wubuntu”: Построение гетерогенной среды Windows+Linux на н...Minsk Linux User Group
 
Microsoft cluster systems ritconf
Microsoft cluster systems ritconfMicrosoft cluster systems ritconf
Microsoft cluster systems ritconfrit2010
 
Бекэнд для push-уведомлений своими руками
Бекэнд для push-уведомлений своими рукамиБекэнд для push-уведомлений своими руками
Бекэнд для push-уведомлений своими рукамиAlexandr Mikhaylenko
 
Выступление Юрия Насретдинова, Badoo, на High Performance Conference
Выступление Юрия Насретдинова, Badoo, на High Performance ConferenceВыступление Юрия Насретдинова, Badoo, на High Performance Conference
Выступление Юрия Насретдинова, Badoo, на High Performance ConferenceEYevseyeva
 
Android Telegram S Optimizations
Android Telegram S OptimizationsAndroid Telegram S Optimizations
Android Telegram S OptimizationsStepan Korshakov
 
Обзор технологий Microsoft Hyper-V: введение в виртуализацию
Обзор технологий Microsoft Hyper-V: введение в виртуализациюОбзор технологий Microsoft Hyper-V: введение в виртуализацию
Обзор технологий Microsoft Hyper-V: введение в виртуализациюSkillFactory
 
Chrome push notifications. Анатомия и разработка
Chrome push notifications. Анатомия и разработкаChrome push notifications. Анатомия и разработка
Chrome push notifications. Анатомия и разработкаAlexandr Mikhaylenko
 
Алексей Морозов (Россия), Rambler.ru. ASP.NET в помощь хакеру и не только....
Алексей Морозов (Россия), Rambler.ru. ASP.NET в помощь хакеру и не только....Алексей Морозов (Россия), Rambler.ru. ASP.NET в помощь хакеру и не только....
Алексей Морозов (Россия), Rambler.ru. ASP.NET в помощь хакеру и не только....KazHackStan
 
UCloud™ - новые возможности облака в 2019г.
UCloud™ - новые возможности облака в 2019г. UCloud™ - новые возможности облака в 2019г.
UCloud™ - новые возможности облака в 2019г. ucloud
 
Масштабирование Блокчейн Сетей
Масштабирование Блокчейн СетейМасштабирование Блокчейн Сетей
Масштабирование Блокчейн СетейEugene Aseev
 
EMC XtremIO. Превосходя ожидания
EMC XtremIO. Превосходя ожиданияEMC XtremIO. Превосходя ожидания
EMC XtremIO. Превосходя ожиданияКРОК
 
Twisted Framework - сетевые приложения в Python
Twisted Framework - сетевые приложения в PythonTwisted Framework - сетевые приложения в Python
Twisted Framework - сетевые приложения в PythonAndrey Smirnov
 
Violin Memory. Первая скрипка Huawei Dorado. Антикризисное решение
Violin Memory. Первая скрипка Huawei Dorado. Антикризисное решениеViolin Memory. Первая скрипка Huawei Dorado. Антикризисное решение
Violin Memory. Первая скрипка Huawei Dorado. Антикризисное решениеКРОК
 
Иван Чалыкин (Россия), Digital Security. Легальный SOP Bypass. Проблемы внедр...
Иван Чалыкин (Россия), Digital Security. Легальный SOP Bypass. Проблемы внедр...Иван Чалыкин (Россия), Digital Security. Легальный SOP Bypass. Проблемы внедр...
Иван Чалыкин (Россия), Digital Security. Легальный SOP Bypass. Проблемы внедр...KazHackStan
 
В ногу со временем, или как делать upgrade PostgreSQL / Андрей Сальников (Dat...
В ногу со временем, или как делать upgrade PostgreSQL / Андрей Сальников (Dat...В ногу со временем, или как делать upgrade PostgreSQL / Андрей Сальников (Dat...
В ногу со временем, или как делать upgrade PostgreSQL / Андрей Сальников (Dat...Ontico
 
Татьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotem
Татьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotemТатьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotem
Татьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotemKazHackStan
 

Tendances (19)

Алексей Андросов "HTML5 в Я.Почте"
Алексей Андросов "HTML5 в Я.Почте"Алексей Андросов "HTML5 в Я.Почте"
Алексей Андросов "HTML5 в Я.Почте"
 
Слава Машканов — “Wubuntu”: Построение гетерогенной среды Windows+Linux на н...
Слава Машканов — “Wubuntu”: Построение гетерогенной среды  Windows+Linux на н...Слава Машканов — “Wubuntu”: Построение гетерогенной среды  Windows+Linux на н...
Слава Машканов — “Wubuntu”: Построение гетерогенной среды Windows+Linux на н...
 
Microsoft cluster systems ritconf
Microsoft cluster systems ritconfMicrosoft cluster systems ritconf
Microsoft cluster systems ritconf
 
KazHackStan 2017 | Tracking
KazHackStan 2017 | TrackingKazHackStan 2017 | Tracking
KazHackStan 2017 | Tracking
 
7812 hid
7812 hid7812 hid
7812 hid
 
Бекэнд для push-уведомлений своими руками
Бекэнд для push-уведомлений своими рукамиБекэнд для push-уведомлений своими руками
Бекэнд для push-уведомлений своими руками
 
Выступление Юрия Насретдинова, Badoo, на High Performance Conference
Выступление Юрия Насретдинова, Badoo, на High Performance ConferenceВыступление Юрия Насретдинова, Badoo, на High Performance Conference
Выступление Юрия Насретдинова, Badoo, на High Performance Conference
 
Android Telegram S Optimizations
Android Telegram S OptimizationsAndroid Telegram S Optimizations
Android Telegram S Optimizations
 
Обзор технологий Microsoft Hyper-V: введение в виртуализацию
Обзор технологий Microsoft Hyper-V: введение в виртуализациюОбзор технологий Microsoft Hyper-V: введение в виртуализацию
Обзор технологий Microsoft Hyper-V: введение в виртуализацию
 
Chrome push notifications. Анатомия и разработка
Chrome push notifications. Анатомия и разработкаChrome push notifications. Анатомия и разработка
Chrome push notifications. Анатомия и разработка
 
Алексей Морозов (Россия), Rambler.ru. ASP.NET в помощь хакеру и не только....
Алексей Морозов (Россия), Rambler.ru. ASP.NET в помощь хакеру и не только....Алексей Морозов (Россия), Rambler.ru. ASP.NET в помощь хакеру и не только....
Алексей Морозов (Россия), Rambler.ru. ASP.NET в помощь хакеру и не только....
 
UCloud™ - новые возможности облака в 2019г.
UCloud™ - новые возможности облака в 2019г. UCloud™ - новые возможности облака в 2019г.
UCloud™ - новые возможности облака в 2019г.
 
Масштабирование Блокчейн Сетей
Масштабирование Блокчейн СетейМасштабирование Блокчейн Сетей
Масштабирование Блокчейн Сетей
 
EMC XtremIO. Превосходя ожидания
EMC XtremIO. Превосходя ожиданияEMC XtremIO. Превосходя ожидания
EMC XtremIO. Превосходя ожидания
 
Twisted Framework - сетевые приложения в Python
Twisted Framework - сетевые приложения в PythonTwisted Framework - сетевые приложения в Python
Twisted Framework - сетевые приложения в Python
 
Violin Memory. Первая скрипка Huawei Dorado. Антикризисное решение
Violin Memory. Первая скрипка Huawei Dorado. Антикризисное решениеViolin Memory. Первая скрипка Huawei Dorado. Антикризисное решение
Violin Memory. Первая скрипка Huawei Dorado. Антикризисное решение
 
Иван Чалыкин (Россия), Digital Security. Легальный SOP Bypass. Проблемы внедр...
Иван Чалыкин (Россия), Digital Security. Легальный SOP Bypass. Проблемы внедр...Иван Чалыкин (Россия), Digital Security. Легальный SOP Bypass. Проблемы внедр...
Иван Чалыкин (Россия), Digital Security. Легальный SOP Bypass. Проблемы внедр...
 
В ногу со временем, или как делать upgrade PostgreSQL / Андрей Сальников (Dat...
В ногу со временем, или как делать upgrade PostgreSQL / Андрей Сальников (Dat...В ногу со временем, или как делать upgrade PostgreSQL / Андрей Сальников (Dat...
В ногу со временем, или как делать upgrade PostgreSQL / Андрей Сальников (Dat...
 
Татьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotem
Татьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotemТатьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotem
Татьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotem
 

En vedette

Корпоративная презентация в Beamer
Корпоративная презентация в BeamerКорпоративная презентация в Beamer
Корпоративная презентация в BeamerMaksim Melnikau
 
Zero downtime upgrade на коленках
Zero downtime upgrade на коленкахZero downtime upgrade на коленках
Zero downtime upgrade на коленкахMaksim Melnikau
 
Python meetup, Minsk, November
Python meetup, Minsk, NovemberPython meetup, Minsk, November
Python meetup, Minsk, NovemberMaksim Melnikau
 
Python meetup, Minsk, September
Python meetup, Minsk, SeptemberPython meetup, Minsk, September
Python meetup, Minsk, SeptemberMaksim Melnikau
 
Python meetup, Minsk, August
Python meetup, Minsk, AugustPython meetup, Minsk, August
Python meetup, Minsk, AugustMaksim Melnikau
 
IPv6 at Home: NAT64, DNS64, OpenVPN
IPv6 at Home: NAT64, DNS64, OpenVPNIPv6 at Home: NAT64, DNS64, OpenVPN
IPv6 at Home: NAT64, DNS64, OpenVPNMaksim Melnikau
 
World of Tanks: Linux and Open Source Inside
World of Tanks: Linux and Open Source InsideWorld of Tanks: Linux and Open Source Inside
World of Tanks: Linux and Open Source InsideMaksim Melnikau
 

En vedette (13)

Корпоративная презентация в Beamer
Корпоративная презентация в BeamerКорпоративная презентация в Beamer
Корпоративная презентация в Beamer
 
Zero downtime upgrade на коленках
Zero downtime upgrade на коленкахZero downtime upgrade на коленках
Zero downtime upgrade на коленках
 
Python meetup, Minsk, November
Python meetup, Minsk, NovemberPython meetup, Minsk, November
Python meetup, Minsk, November
 
Ubuntu touch-install
Ubuntu touch-installUbuntu touch-install
Ubuntu touch-install
 
FOSDEM 2014
FOSDEM 2014FOSDEM 2014
FOSDEM 2014
 
Python meetup, Minsk, September
Python meetup, Minsk, SeptemberPython meetup, Minsk, September
Python meetup, Minsk, September
 
FOSDEM 2014 Overview
FOSDEM 2014 OverviewFOSDEM 2014 Overview
FOSDEM 2014 Overview
 
Python meetup, Minsk, August
Python meetup, Minsk, AugustPython meetup, Minsk, August
Python meetup, Minsk, August
 
LinuxCon Europe 2013
LinuxCon Europe 2013LinuxCon Europe 2013
LinuxCon Europe 2013
 
Wayland state in Gentoo
Wayland state in GentooWayland state in Gentoo
Wayland state in Gentoo
 
Telepathy Skykit
Telepathy SkykitTelepathy Skykit
Telepathy Skykit
 
IPv6 at Home: NAT64, DNS64, OpenVPN
IPv6 at Home: NAT64, DNS64, OpenVPNIPv6 at Home: NAT64, DNS64, OpenVPN
IPv6 at Home: NAT64, DNS64, OpenVPN
 
World of Tanks: Linux and Open Source Inside
World of Tanks: Linux and Open Source InsideWorld of Tanks: Linux and Open Source Inside
World of Tanks: Linux and Open Source Inside
 

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

Максим Мельников - Wargaming Web
Максим Мельников - Wargaming WebМаксим Мельников - Wargaming Web
Максим Мельников - Wargaming WebIT Share
 
Nekki: Shadow Fight 2: architecture of the analytics system handling billion ...
Nekki: Shadow Fight 2: architecture of the analytics system handling billion ...Nekki: Shadow Fight 2: architecture of the analytics system handling billion ...
Nekki: Shadow Fight 2: architecture of the analytics system handling billion ...DevGAMM Conference
 
Сергей Яркин, Тензор — RabbitMQ. Насколько ценен мех и вкусно мясо?
Сергей Яркин, Тензор — RabbitMQ. Насколько ценен мех и вкусно мясо?Сергей Яркин, Тензор — RabbitMQ. Насколько ценен мех и вкусно мясо?
Сергей Яркин, Тензор — RabbitMQ. Насколько ценен мех и вкусно мясо?Dev_Party
 
Shadow Fight 2: архитектура системы аналитики для миллиарда событий
Shadow Fight 2: архитектура системы аналитики для миллиарда событийShadow Fight 2: архитектура системы аналитики для миллиарда событий
Shadow Fight 2: архитектура системы аналитики для миллиарда событийVyacheslav Nikulin
 
1. Sartakov. Virtualization. June 01, 2013
1. Sartakov. Virtualization. June 01, 20131. Sartakov. Virtualization. June 01, 2013
1. Sartakov. Virtualization. June 01, 2013ru-fedora-moscow-2013
 
Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)
Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)
Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)Ontico
 
Кланы в Wargaming. От странички на танковом портале до мультиплатфермнного с...
Кланы в Wargaming. От странички на танковом портале до  мультиплатфермнного с...Кланы в Wargaming. От странички на танковом портале до  мультиплатфермнного с...
Кланы в Wargaming. От странички на танковом портале до мультиплатфермнного с...Levon Avakyan
 
Левон Авакян-«Эволюция кланов в Wargaming. От веб страницы на танковом портал...
Левон Авакян-«Эволюция кланов в Wargaming. От веб страницы на танковом портал...Левон Авакян-«Эволюция кланов в Wargaming. От веб страницы на танковом портал...
Левон Авакян-«Эволюция кланов в Wargaming. От веб страницы на танковом портал...Tanya Denisyuk
 
подходы к проектрованию, разработке и развертыванию больших систем
подходы к проектрованию, разработке и развертыванию больших системподходы к проектрованию, разработке и развертыванию больших систем
подходы к проектрованию, разработке и развертыванию больших системDenis Pavlov
 
Константин Трушкин. Использование платформы Эльбрус в информационно-защищённы...
Константин Трушкин. Использование платформы Эльбрус в информационно-защищённы...Константин Трушкин. Использование платформы Эльбрус в информационно-защищённы...
Константин Трушкин. Использование платформы Эльбрус в информационно-защищённы...Kaspersky
 
Presentation Amd Cpu
Presentation Amd CpuPresentation Amd Cpu
Presentation Amd Cpuandrei145
 
Надежность World of Tanks Server
Надежность World of Tanks ServerНадежность World of Tanks Server
Надежность World of Tanks ServerLevon Avakyan
 
Wargaming: тыл - фронту!
Wargaming: тыл - фронту!Wargaming: тыл - фронту!
Wargaming: тыл - фронту!Python Meetup
 
Масштабируемость блокчейн-систем: проблемы и решения
Масштабируемость блокчейн-систем: проблемы и решенияМасштабируемость блокчейн-систем: проблемы и решения
Масштабируемость блокчейн-систем: проблемы и решенияAlex Chepurnoy
 
Современная операционная система: что надо знать разработчику / Александр Кри...
Современная операционная система: что надо знать разработчику / Александр Кри...Современная операционная система: что надо знать разработчику / Александр Кри...
Современная операционная система: что надо знать разработчику / Александр Кри...Ontico
 
16 процессоры и память эвм лекция
16 процессоры и память эвм лекция16 процессоры и память эвм лекция
16 процессоры и память эвм лекцияSergey Lomakin
 

Similaire à World of Tanks: один миллион игроков онлайн (18)

Максим Мельников - Wargaming Web
Максим Мельников - Wargaming WebМаксим Мельников - Wargaming Web
Максим Мельников - Wargaming Web
 
Nekki: Shadow Fight 2: architecture of the analytics system handling billion ...
Nekki: Shadow Fight 2: architecture of the analytics system handling billion ...Nekki: Shadow Fight 2: architecture of the analytics system handling billion ...
Nekki: Shadow Fight 2: architecture of the analytics system handling billion ...
 
Сергей Яркин, Тензор — RabbitMQ. Насколько ценен мех и вкусно мясо?
Сергей Яркин, Тензор — RabbitMQ. Насколько ценен мех и вкусно мясо?Сергей Яркин, Тензор — RabbitMQ. Насколько ценен мех и вкусно мясо?
Сергей Яркин, Тензор — RabbitMQ. Насколько ценен мех и вкусно мясо?
 
Shadow Fight 2: архитектура системы аналитики для миллиарда событий
Shadow Fight 2: архитектура системы аналитики для миллиарда событийShadow Fight 2: архитектура системы аналитики для миллиарда событий
Shadow Fight 2: архитектура системы аналитики для миллиарда событий
 
1. Sartakov. Virtualization. June 01, 2013
1. Sartakov. Virtualization. June 01, 20131. Sartakov. Virtualization. June 01, 2013
1. Sartakov. Virtualization. June 01, 2013
 
Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)
Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)
Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)
 
Кланы в Wargaming. От странички на танковом портале до мультиплатфермнного с...
Кланы в Wargaming. От странички на танковом портале до  мультиплатфермнного с...Кланы в Wargaming. От странички на танковом портале до  мультиплатфермнного с...
Кланы в Wargaming. От странички на танковом портале до мультиплатфермнного с...
 
Левон Авакян-«Эволюция кланов в Wargaming. От веб страницы на танковом портал...
Левон Авакян-«Эволюция кланов в Wargaming. От веб страницы на танковом портал...Левон Авакян-«Эволюция кланов в Wargaming. От веб страницы на танковом портал...
Левон Авакян-«Эволюция кланов в Wargaming. От веб страницы на танковом портал...
 
подходы к проектрованию, разработке и развертыванию больших систем
подходы к проектрованию, разработке и развертыванию больших системподходы к проектрованию, разработке и развертыванию больших систем
подходы к проектрованию, разработке и развертыванию больших систем
 
Константин Трушкин. Использование платформы Эльбрус в информационно-защищённы...
Константин Трушкин. Использование платформы Эльбрус в информационно-защищённы...Константин Трушкин. Использование платформы Эльбрус в информационно-защищённы...
Константин Трушкин. Использование платформы Эльбрус в информационно-защищённы...
 
Presentation Amd Cpu
Presentation Amd CpuPresentation Amd Cpu
Presentation Amd Cpu
 
Надежность World of Tanks Server
Надежность World of Tanks ServerНадежность World of Tanks Server
Надежность World of Tanks Server
 
Wargaming: тыл - фронту!
Wargaming: тыл - фронту!Wargaming: тыл - фронту!
Wargaming: тыл - фронту!
 
Масштабируемость блокчейн-систем: проблемы и решения
Масштабируемость блокчейн-систем: проблемы и решенияМасштабируемость блокчейн-систем: проблемы и решения
Масштабируемость блокчейн-систем: проблемы и решения
 
Myaso
MyasoMyaso
Myaso
 
Современная операционная система: что надо знать разработчику / Александр Кри...
Современная операционная система: что надо знать разработчику / Александр Кри...Современная операционная система: что надо знать разработчику / Александр Кри...
Современная операционная система: что надо знать разработчику / Александр Кри...
 
16 процессоры и память эвм лекция
16 процессоры и память эвм лекция16 процессоры и память эвм лекция
16 процессоры и память эвм лекция
 
Multiplayer
MultiplayerMultiplayer
Multiplayer
 

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

  • 1. WORLD OF TANKS ОДИН МИЛЛИОН ИГРОКОВ ОНЛАЙН МАКСИМ МЕЛЬНИКОВ
  • 2. КТО Я Разработчик в Wargaming (Минск, Беларусь) 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 mmorpg fps о танках 15x15 pvp World of Tanks: один миллион игроков онлайн, Максим Мельников
  • 4. WORLD OF TANKS СЕГОДНЯ 1.1M одновременно играющих в пике 11M сообщений в секунду 500 серверов для обслуживания игры 60M посещений игрового портала в месяц 6PB (петабайт) на установку и обновления игрового клиента в месяц World of Tanks: один миллион игроков онлайн, Максим Мельников
  • 5.
  • 6. ЧИТЕРЫ много игроков хотят читить читеры делают других игроков несчасными ксенофобия World of Tanks: один миллион игроков онлайн, Максим Мельников
  • 7. МАСШТАБИРОВАНИЕ лучше продукт — больше игроков больше игроков — больше серверов больше серверов — сильнее проблема синхронизации World of Tanks: один миллион игроков онлайн, Максим Мельников
  • 8. ПРОБЛЕМА ЕДИНОГО ДАТАЦЕНТРА латентность доступность единая точка отказа World of Tanks: один миллион игроков онлайн, Максим Мельников
  • 9. БИГ ДАТА больше игроков — больше данных больше данных — больше дисков внезапно, нужны совершенно новые решения для хранения данных World of Tanks: один миллион игроков онлайн, Максим Мельников
  • 10. БЫСТРЫЙ РОСТ простые решения — время выхода на рынок большой успех — простые решения совершенно непригодными переделывание всего на лету изменение бизнес требований каждый день World of Tanks: один миллион игроков онлайн, Максим Мельников
  • 11.
  • 12. НИКТО ВАМ НЕ ПОМОЖЕТ нет времени на обучение людей нет времени на ожидаение поддержки от сторонних вендоров нет времени на написание хороших, правильных решений World of Tanks: один миллион игроков онлайн, Максим Мельников
  • 13. ПОЛНЫЙ КОНТРОЛЬ софт железо данные команда World of Tanks: один миллион игроков онлайн, Максим Мельников
  • 14. LINUX И OPEN SOURCE готовые к использованию компоненты хорошая документация возможность костомизации когда необходимо наём людей с необходимыми навыками World of Tanks: один миллион игроков онлайн, Максим Мельников
  • 15.
  • 16. АРХИТЕКТУРА WORLD OF TANKS клиент игры — тонкий клиент, плеер сервер — расчёт игрового мира кластер — сотни процессов работающих как единое целое (сервер) игровой мир — пошаговый, шаги очень маленькие World of Tanks: один миллион игроков онлайн, Максим Мельников
  • 18. АРХИТЕКТУРА КЛАСТЕРА World of Tanks: один миллион игроков онлайн, Максим Мельников
  • 19. РАЗРАБОТКА СЕРВЕРА 1. обычный Python 2. GC выключен 3. немного C++ 4. RPC - на базе сообщений 5. UDP-based протокол с гарантией доставки World of Tanks: один миллион игроков онлайн, Максим Мельников
  • 20. ОТКАЗОУСТОЙЧИВОСТЬ объекты только в памяти репликация объектов на случай отказа World of Tanks: один миллион игроков онлайн, Максим Мельников
  • 21. ПЕРЕЕЗДЕЦ много кластеров быстрое перемещение между кластерами выделенный кластер для хранения данных World of Tanks: один миллион игроков онлайн, Максим Мельников
  • 22. АРХИТЕКТУРА МЕТАКЛАСТЕРА Центр постоянное хранилище аккаунты (proxy) взаимодействие с web-ом Периферия RU1, RU2, ... временное хранилище аккаунты бои World of Tanks: один миллион игроков онлайн, Максим Мельников
  • 23. ПРЕИМУЩЕСТВА МЕТАКЛАСТЕРА 1. масштабируемость 2. гео-распределённость 3. отказоустойчивость 4. независимость World of Tanks: один миллион игроков онлайн, Максим Мельников
  • 24. ПРОДАКШН 1. 500 серверов 2. 8k CPU ядер 3. 32 TB RAM 4. Linux World of Tanks: один миллион игроков онлайн, Максим Мельников
  • 25. ГЛАВНАЯ ИГРОВАЯ БАЗА: 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: один миллион игроков онлайн, Максим Мельников
  • 26.
  • 27. ВЕБ ЗАДАЧИ регистрация новости статьи и описания медиа контент платёжная форма обработка платежей раздача обновлений управление пользователями профиль игрока статистика рейтинги ... World of Tanks: один миллион игроков онлайн, Максим Мельников
  • 28. ИНТЕГРАЦИЯ С ИГРОВЫМ СЕРВЕРОМ AMQP — протокол взаимодействия с игровым сервером XML-RPC обёртка над AMQP реплика данных игры в реляционном виде World of Tanks: один миллион игроков онлайн, Максим Мельников
  • 29. СЕРВИСНАЯ АРХИТЕКТУРА множество различных проектов протоколы взаимодействия: AMQP, HTTP, SQL, XML-RPC World of Tanks: один миллион игроков онлайн, Максим Мельников
  • 30. LNAMPMR World of Tanks: один миллион игроков онлайн, Максим Мельников
  • 31. Other World of Tanks: один миллион игроков онлайн, Максим Мельников
  • 32.
  • 33. КЛЮЧИ К УСПЕХУ полный контроль над всем Linux на сервере опора на Open Source главное — скорость и простота разработки не стоит боятся гетерогенной среды синхронный подход везде где можно асинхронный — только там, где это необходимо AMQP — отличный протокол для реализации RPC работа с объектами в памяти самая быстрая World of Tanks: один миллион игроков онлайн, Максим Мельников
  • 34. СПАСИБО ЗА ВНИМАНИЕ. ВОПРОСЫ МАКСИМ МЕЛЬНИКОВ mailto:m_melnikau@wargaming.net https://plus.google.com/+MaksimMelnikau/ https://twitter.com/max_posedon http://wargaming.com