SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
WORLD OF TANKS
LINUX AND OPEN SOURCE INSIDE
МАКСИМ МЕЛЬНИКОВ
КТО Я
Wargaming.net
Order of War
Order of War: Challenge
World of Tanks developer
Linux Mobile hobbyist
Openmoko
systemd
telepathy
Gentoo
World of Tanks: Linux and Open Source Inside, Максим Мельников
WORLD OF TANKS СЕГОДНЯ
800k одновременно играющих в пике
8M сообщений в секунду
500 серверов для обслуживания игры и веба
60M посещений игрового портала в месяц
5 PB (петабайт) на установку и обновления игрового клиента в месяц
World of Tanks: Linux and Open Source Inside, Максим Мельников
СОДЕРЖАНИЕ
Вступление
Игра
Веб
Базы данных
Заключение
World of Tanks: Linux and Open Source Inside, Максим Мельников
СЕРВЕР
1. обычный Python
2. GC выключен
3. немного C++
4. RPC - на базе сообщений
5. UDP-based протокол с гарантией доставки
World of Tanks: Linux and Open Source Inside, Максим Мельников
ПРОДАКШН
1. 500 серверов
2. 8k ядер
3. 32 TB RAM
4. Linux
World of Tanks: Linux and Open Source Inside, Максим Мельников
КЛИЕНТ
1. обычный Python
2. HUD - Flash, Scaleform
3. 3D графика - C++
World of Tanks: Linux and Open Source Inside, Максим Мельников
ВЕБ
регистрация
новости
статьи и описания
медиа контент
платёжная форма
обработка платежей
раздача обновлений
управление пользователями
профиль игрока
статистика
рейтинги
...
World of Tanks: Linux and Open Source Inside, Максим Мельников
СТЭК ТЕХНОЛОГИЙ
LNAMPMR
Linux
nginx
Apache (mod_wsgi)
MySQL
Python (Django)
memcached
RabbitMQ
Другое
uwsgi
Twisted
Php
Ruby
PostgreSQL
MongoDB
Redis
World of Tanks: Linux and Open Source Inside, Максим Мельников
ИГРОВАЯ БАЗА I
размер базы: 300 GB
384 GB RAM
Percona 5.5 (разогрев кэша — 1GBps)
40k select-ов, 1k insert-ов, 1k update-ов в секунду
24 HDD ∗ 600 GB ∗ 0.5 = 6 TB
World of Tanks: Linux and Open Source Inside, Максим Мельников
ИГРОВАЯ БАЗА II
размер базы: 4 TB
64 GB RAM
MySQL 5.5
100 GB, 350 млн записей (в день); 1k insert-ов в секунду
24 HDD ∗ 600 GB ∗ 0.5 = 6 TB
ext4
World of Tanks: Linux and Open Source Inside, Максим Мельников
ПЛАТА ВПЕРЁД
1. LVEE
2. Linux Foundation
3. Django Foundation
4. Python Software Foundation
5. Wikimedia Foundation
6. Python Meetup в Минске
World of Tanks: Linux and Open Source Inside, Максим Мельников
ИДЕИ
Linux на сервере — ключ к успеху
опора на Open Source — второй ключ к успеху
главное — скорость и простота разработки
не стоит бояться гетерогенной среды
полный контроль над всеми частями системы
World of Tanks: Linux and Open Source Inside, Максим Мельников
СПАСИБО ЗА ВНИМАНИЕ. ВОПРОСЫ
Максим Мельников
mailto:m_melnikau@wargaming.net
https://plus.google.com/114669104565190507739/
https://twitter.com/max_posedon
http://wargaming.com

Weitere ähnliche Inhalte

Was ist angesagt?

World of Tanks: несколько идей из опыта разработки
World of Tanks: несколько идей из опыта разработкиWorld of Tanks: несколько идей из опыта разработки
World of Tanks: несколько идей из опыта разработки
Maksim Melnikau
 
kranonit S04E01 Антон: Защита от Master Boot Record Locker
kranonit S04E01 Антон: Защита от Master Boot Record Lockerkranonit S04E01 Антон: Защита от Master Boot Record Locker
kranonit S04E01 Антон: Защита от Master Boot Record Locker
Krivoy Rog IT Community
 
Intercepter-NG: сниффер нового поколения
Intercepter-NG: сниффер нового поколенияIntercepter-NG: сниффер нового поколения
Intercepter-NG: сниффер нового поколения
Positive Hack Days
 
Интеграция открытых технологий и взаимодействие со сторонними проектами в усл...
Интеграция открытых технологий и взаимодействие со сторонними проектами в усл...Интеграция открытых технологий и взаимодействие со сторонними проектами в усл...
Интеграция открытых технологий и взаимодействие со сторонними проектами в усл...
Fuenteovejuna
 
мои модули и патчи для Nginx. максим дунин. зал 1
мои модули и патчи для Nginx. максим дунин. зал 1мои модули и патчи для Nginx. максим дунин. зал 1
мои модули и патчи для Nginx. максим дунин. зал 1
rit2011
 
FreeBSD 2009 — живее всех живых
FreeBSD 2009 — живее всех живыхFreeBSD 2009 — живее всех живых
FreeBSD 2009 — живее всех живых
Andrew Pantyukhin
 
Марина Широчкина: Верстка. Вид снизу
Марина Широчкина: Верстка. Вид снизуМарина Широчкина: Верстка. Вид снизу
Марина Широчкина: Верстка. Вид снизу
Yandex
 
Продвинутая web-отладка с Fiddler
Продвинутая web-отладка с FiddlerПродвинутая web-отладка с Fiddler
Продвинутая web-отладка с Fiddler
Alexander Feschenko
 

Was ist angesagt? (19)

World of Tanks: несколько идей из опыта разработки
World of Tanks: несколько идей из опыта разработкиWorld of Tanks: несколько идей из опыта разработки
World of Tanks: несколько идей из опыта разработки
 
Алексей Андросов "HTML5 в Я.Почте"
Алексей Андросов "HTML5 в Я.Почте"Алексей Андросов "HTML5 в Я.Почте"
Алексей Андросов "HTML5 в Я.Почте"
 
kranonit S04E01 Антон: Защита от Master Boot Record Locker
kranonit S04E01 Антон: Защита от Master Boot Record Lockerkranonit S04E01 Антон: Защита от Master Boot Record Locker
kranonit S04E01 Антон: Защита от Master Boot Record Locker
 
Ddos
DdosDdos
Ddos
 
Browser Opera
Browser OperaBrowser Opera
Browser Opera
 
Myaso
MyasoMyaso
Myaso
 
Blockchain
Blockchain Blockchain
Blockchain
 
Intercepter-NG: сниффер нового поколения
Intercepter-NG: сниффер нового поколенияIntercepter-NG: сниффер нового поколения
Intercepter-NG: сниффер нового поколения
 
Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Т...
Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Т...Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Т...
Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Т...
 
Тюним память и сетевой стек в Linux: история перевода высоконагруженных сер...
Тюним память  и сетевой стек в Linux: история перевода высоконагруженных  сер...Тюним память  и сетевой стек в Linux: история перевода высоконагруженных  сер...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных сер...
 
Интеграция открытых технологий и взаимодействие со сторонними проектами в усл...
Интеграция открытых технологий и взаимодействие со сторонними проектами в усл...Интеграция открытых технологий и взаимодействие со сторонними проектами в усл...
Интеграция открытых технологий и взаимодействие со сторонними проектами в усл...
 
мои модули и патчи для Nginx. максим дунин. зал 1
мои модули и патчи для Nginx. максим дунин. зал 1мои модули и патчи для Nginx. максим дунин. зал 1
мои модули и патчи для Nginx. максим дунин. зал 1
 
Татьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotem
Татьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotemТатьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotem
Татьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotem
 
Эволюция High availability: Windows Server 2016 Failover Clustering
Эволюция High availability: Windows Server 2016 Failover ClusteringЭволюция High availability: Windows Server 2016 Failover Clustering
Эволюция High availability: Windows Server 2016 Failover Clustering
 
FreeBSD 2009 — живее всех живых
FreeBSD 2009 — живее всех живыхFreeBSD 2009 — живее всех живых
FreeBSD 2009 — живее всех живых
 
KazHackStan 2017 | Tracking
KazHackStan 2017 | TrackingKazHackStan 2017 | Tracking
KazHackStan 2017 | Tracking
 
Марина Широчкина: Верстка. Вид снизу
Марина Широчкина: Верстка. Вид снизуМарина Широчкина: Верстка. Вид снизу
Марина Широчкина: Верстка. Вид снизу
 
Aleksey Androsov
Aleksey AndrosovAleksey Androsov
Aleksey Androsov
 
Продвинутая web-отладка с Fiddler
Продвинутая web-отладка с FiddlerПродвинутая web-отладка с Fiddler
Продвинутая web-отладка с Fiddler
 

Andere mochten auch

Zero downtime upgrade на коленках
Zero downtime upgrade на коленкахZero downtime upgrade на коленках
Zero downtime upgrade на коленках
Maksim Melnikau
 
Python meetup, Minsk, September
Python meetup, Minsk, SeptemberPython meetup, Minsk, September
Python meetup, Minsk, September
Maksim Melnikau
 
Python meetup, Minsk, August
Python meetup, Minsk, AugustPython meetup, Minsk, August
Python meetup, Minsk, August
Maksim Melnikau
 
Python meetup, Minsk, November
Python meetup, Minsk, NovemberPython meetup, Minsk, November
Python meetup, Minsk, November
Maksim Melnikau
 
IPv6 at Home: NAT64, DNS64, OpenVPN
IPv6 at Home: NAT64, DNS64, OpenVPNIPv6 at Home: NAT64, DNS64, OpenVPN
IPv6 at Home: NAT64, DNS64, OpenVPN
Maksim 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 Inside
Maksim Melnikau
 

Andere mochten auch (13)

Zero downtime upgrade на коленках
Zero downtime upgrade на коленкахZero downtime upgrade на коленках
Zero downtime upgrade на коленках
 
Python meetup, Minsk, September
Python meetup, Minsk, SeptemberPython meetup, Minsk, September
Python meetup, Minsk, September
 
FOSDEM 2014
FOSDEM 2014FOSDEM 2014
FOSDEM 2014
 
FOSDEM 2014 Overview
FOSDEM 2014 OverviewFOSDEM 2014 Overview
FOSDEM 2014 Overview
 
Ubuntu touch-install
Ubuntu touch-installUbuntu touch-install
Ubuntu touch-install
 
Python meetup, Minsk, August
Python meetup, Minsk, AugustPython meetup, Minsk, August
Python meetup, Minsk, August
 
Python meetup, Minsk, November
Python meetup, Minsk, NovemberPython meetup, Minsk, November
Python meetup, Minsk, November
 
LinuxCon Europe 2013
LinuxCon Europe 2013LinuxCon Europe 2013
LinuxCon Europe 2013
 
Корпоративная презентация в Beamer
Корпоративная презентация в BeamerКорпоративная презентация в Beamer
Корпоративная презентация в Beamer
 
Telepathy Skykit
Telepathy SkykitTelepathy Skykit
Telepathy Skykit
 
Wayland state in Gentoo
Wayland state in GentooWayland state in Gentoo
Wayland state in Gentoo
 
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
 

Ähnlich wie World of Tanks: Linux and Open Source Inside

Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)
Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)
Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)
Ontico
 
презентация1
презентация1презентация1
презентация1
ruslan_gorlov4
 
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Ontico
 
Реактивный раздатчик ok.ru/music
Реактивный раздатчик ok.ru/musicРеактивный раздатчик ok.ru/music
Реактивный раздатчик ok.ru/music
Vadim Tsesko
 
подходы к проектрованию, разработке и развертыванию больших систем
подходы к проектрованию, разработке и развертыванию больших системподходы к проектрованию, разработке и развертыванию больших систем
подходы к проектрованию, разработке и развертыванию больших систем
Denis Pavlov
 
2013-01-05 01 Леонид Евдокимов. Web scale. Взорвется все
2013-01-05 01 Леонид Евдокимов. Web scale. Взорвется все2013-01-05 01 Леонид Евдокимов. Web scale. Взорвется все
2013-01-05 01 Леонид Евдокимов. Web scale. Взорвется все
Омские ИТ-субботники
 
Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»
Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»
Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»
Tanya Denisyuk
 

Ähnlich wie World of Tanks: Linux and Open Source Inside (20)

Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)
Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)
Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)
 
1. Sartakov. Virtualization. June 01, 2013
1. Sartakov. Virtualization. June 01, 20131. Sartakov. Virtualization. June 01, 2013
1. Sartakov. Virtualization. June 01, 2013
 
TMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: GenodeTMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: Genode
 
Легко ли продавать контейнеры на базаре
Легко ли продавать контейнеры на базареЛегко ли продавать контейнеры на базаре
Легко ли продавать контейнеры на базаре
 
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
 
Intel DPDK в решениях для противодействия DDoS-атакам
Intel DPDK в решениях для противодействия DDoS-атакамIntel DPDK в решениях для противодействия DDoS-атакам
Intel DPDK в решениях для противодействия DDoS-атакам
 
презентация1
презентация1презентация1
презентация1
 
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
 
Технополис: Сетевой стек
Технополис: Сетевой стекТехнополис: Сетевой стек
Технополис: Сетевой стек
 
Реактивный раздатчик ok.ru/music
Реактивный раздатчик ok.ru/musicРеактивный раздатчик ok.ru/music
Реактивный раздатчик ok.ru/music
 
Максим Исаев, IBS. Практика использования комплекса Veritas NetBackup для мод...
Максим Исаев, IBS. Практика использования комплекса Veritas NetBackup для мод...Максим Исаев, IBS. Практика использования комплекса Veritas NetBackup для мод...
Максим Исаев, IBS. Практика использования комплекса Veritas NetBackup для мод...
 
Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)
Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)
Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)
 
Современная операционная система: что надо знать разработчику / Александр Кри...
Современная операционная система: что надо знать разработчику / Александр Кри...Современная операционная система: что надо знать разработчику / Александр Кри...
Современная операционная система: что надо знать разработчику / Александр Кри...
 
Как ВКонтакте использует Go
Как ВКонтакте использует GoКак ВКонтакте использует Go
Как ВКонтакте использует Go
 
подходы к проектрованию, разработке и развертыванию больших систем
подходы к проектрованию, разработке и развертыванию больших системподходы к проектрованию, разработке и развертыванию больших систем
подходы к проектрованию, разработке и развертыванию больших систем
 
2013-01-05 01 Леонид Евдокимов. Web scale. Взорвется все
2013-01-05 01 Леонид Евдокимов. Web scale. Взорвется все2013-01-05 01 Леонид Евдокимов. Web scale. Взорвется все
2013-01-05 01 Леонид Евдокимов. Web scale. Взорвется все
 
Presentation Amd Cpu
Presentation Amd CpuPresentation Amd Cpu
Presentation Amd Cpu
 
Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»
Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»
Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»
 
Флеш в серверах: работа со скоростью вспышки
Флеш в серверах: работа со скоростью вспышкиФлеш в серверах: работа со скоростью вспышки
Флеш в серверах: работа со скоростью вспышки
 
Shadow Fight 2: архитектура системы аналитики для миллиарда событий
Shadow Fight 2: архитектура системы аналитики для миллиарда событийShadow Fight 2: архитектура системы аналитики для миллиарда событий
Shadow Fight 2: архитектура системы аналитики для миллиарда событий
 

World of Tanks: Linux and Open Source Inside

  • 1. WORLD OF TANKS LINUX AND OPEN SOURCE INSIDE МАКСИМ МЕЛЬНИКОВ
  • 2. КТО Я Wargaming.net Order of War Order of War: Challenge World of Tanks developer Linux Mobile hobbyist Openmoko systemd telepathy Gentoo World of Tanks: Linux and Open Source Inside, Максим Мельников
  • 3. WORLD OF TANKS СЕГОДНЯ 800k одновременно играющих в пике 8M сообщений в секунду 500 серверов для обслуживания игры и веба 60M посещений игрового портала в месяц 5 PB (петабайт) на установку и обновления игрового клиента в месяц World of Tanks: Linux and Open Source Inside, Максим Мельников
  • 5. СЕРВЕР 1. обычный Python 2. GC выключен 3. немного C++ 4. RPC - на базе сообщений 5. UDP-based протокол с гарантией доставки World of Tanks: Linux and Open Source Inside, Максим Мельников
  • 6. ПРОДАКШН 1. 500 серверов 2. 8k ядер 3. 32 TB RAM 4. Linux World of Tanks: Linux and Open Source Inside, Максим Мельников
  • 7. КЛИЕНТ 1. обычный Python 2. HUD - Flash, Scaleform 3. 3D графика - C++ World of Tanks: Linux and Open Source Inside, Максим Мельников
  • 8. ВЕБ регистрация новости статьи и описания медиа контент платёжная форма обработка платежей раздача обновлений управление пользователями профиль игрока статистика рейтинги ... World of Tanks: Linux and Open Source Inside, Максим Мельников
  • 9. СТЭК ТЕХНОЛОГИЙ LNAMPMR Linux nginx Apache (mod_wsgi) MySQL Python (Django) memcached RabbitMQ Другое uwsgi Twisted Php Ruby PostgreSQL MongoDB Redis World of Tanks: Linux and Open Source Inside, Максим Мельников
  • 10. ИГРОВАЯ БАЗА I размер базы: 300 GB 384 GB RAM Percona 5.5 (разогрев кэша — 1GBps) 40k select-ов, 1k insert-ов, 1k update-ов в секунду 24 HDD ∗ 600 GB ∗ 0.5 = 6 TB World of Tanks: Linux and Open Source Inside, Максим Мельников
  • 11. ИГРОВАЯ БАЗА II размер базы: 4 TB 64 GB RAM MySQL 5.5 100 GB, 350 млн записей (в день); 1k insert-ов в секунду 24 HDD ∗ 600 GB ∗ 0.5 = 6 TB ext4 World of Tanks: Linux and Open Source Inside, Максим Мельников
  • 12.
  • 13. ПЛАТА ВПЕРЁД 1. LVEE 2. Linux Foundation 3. Django Foundation 4. Python Software Foundation 5. Wikimedia Foundation 6. Python Meetup в Минске World of Tanks: Linux and Open Source Inside, Максим Мельников
  • 14. ИДЕИ Linux на сервере — ключ к успеху опора на Open Source — второй ключ к успеху главное — скорость и простота разработки не стоит бояться гетерогенной среды полный контроль над всеми частями системы World of Tanks: Linux and Open Source Inside, Максим Мельников
  • 15. СПАСИБО ЗА ВНИМАНИЕ. ВОПРОСЫ Максим Мельников mailto:m_melnikau@wargaming.net https://plus.google.com/114669104565190507739/ https://twitter.com/max_posedon http://wargaming.com