Максим Барышников (Wargaming.net)
Transcript of Максим Барышников (Wargaming.net)
![Page 1: Максим Барышников (Wargaming.net)](https://reader035.fdocuments.in/reader035/viewer/2022062312/5555aab7d8b42a52568b48cf/html5/thumbnails/1.jpg)
WARGAMING: тыл — фронту!
WARGAMING:тыл — фронту!Максим Барышников
![Page 2: Максим Барышников (Wargaming.net)](https://reader035.fdocuments.in/reader035/viewer/2022062312/5555aab7d8b42a52568b48cf/html5/thumbnails/2.jpg)
WARGAMING: тыл — фронту!
Часть первая, менеджерская
![Page 3: Максим Барышников (Wargaming.net)](https://reader035.fdocuments.in/reader035/viewer/2022062312/5555aab7d8b42a52568b48cf/html5/thumbnails/3.jpg)
WARGAMING: тыл — фронту!
SPAExporter
WGNI
WGNP
WGNR
WGRS
PAPI
WGCLVROT
PortalSupport
WarGAG
Forum WGN
ClanWars
![Page 4: Максим Барышников (Wargaming.net)](https://reader035.fdocuments.in/reader035/viewer/2022062312/5555aab7d8b42a52568b48cf/html5/thumbnails/4.jpg)
WARGAMING: тыл — фронту!
Много компонентов×
N игр (WoT, WoWP, WoWS…)×
M реалмов (RU, EU, NA, CN, ASIA…)=
WARGAMING WEB
![Page 5: Максим Барышников (Wargaming.net)](https://reader035.fdocuments.in/reader035/viewer/2022062312/5555aab7d8b42a52568b48cf/html5/thumbnails/5.jpg)
WARGAMING: тыл — фронту!
• каждый компонент разрабатывается отдельно…вплоть до отдельной команды и менеджера
• ввзаимодействует с другими компонентами через APIили контракт
• зависимости управляются также, как в любомпакетном менеджере
Разработка компонентов
![Page 6: Максим Барышников (Wargaming.net)](https://reader035.fdocuments.in/reader035/viewer/2022062312/5555aab7d8b42a52568b48cf/html5/thumbnails/6.jpg)
WARGAMING: тыл — фронту!
Часть вторая, техническая
![Page 7: Максим Барышников (Wargaming.net)](https://reader035.fdocuments.in/reader035/viewer/2022062312/5555aab7d8b42a52568b48cf/html5/thumbnails/7.jpg)
WARGAMING: тыл — фронту!
Технологии
![Page 8: Максим Барышников (Wargaming.net)](https://reader035.fdocuments.in/reader035/viewer/2022062312/5555aab7d8b42a52568b48cf/html5/thumbnails/8.jpg)
WARGAMING: тыл — фронту!
AMQP WGNIWGRS
AMQP
HTTP API :: call()
WGCL
HTTP API :: call()
HTTP API :: call()
HTT
PH
TTP
PAPI
HTTP API :: call() HTTP API :: call()
jabberdBackyard
Взаимодействие компонентов
Exporter
AMQ
P
Portal
SPAHTTP API :: call()
HTTP API :: call()
AMQ
P
![Page 9: Максим Барышников (Wargaming.net)](https://reader035.fdocuments.in/reader035/viewer/2022062312/5555aab7d8b42a52568b48cf/html5/thumbnails/9.jpg)
WARGAMING: тыл — фронту!
• AMQP и HTTP API — основные способы взаимодействия
• Взаимодействие не всегда упорядочено
• Есть случаи, когда один компонент читает из БД другого
![Page 10: Максим Барышников (Wargaming.net)](https://reader035.fdocuments.in/reader035/viewer/2022062312/5555aab7d8b42a52568b48cf/html5/thumbnails/10.jpg)
WARGAMING: тыл — фронту!
• 500+ Gb только данных игроков• 1500 логинов в секунду• 100+ боев заканчивается в
секунду• 3000+ игровых событий в
секунду
![Page 11: Максим Барышников (Wargaming.net)](https://reader035.fdocuments.in/reader035/viewer/2022062312/5555aab7d8b42a52568b48cf/html5/thumbnails/11.jpg)
WARGAMING: тыл — фронту!
Часть третья, техническое будущее
![Page 12: Максим Барышников (Wargaming.net)](https://reader035.fdocuments.in/reader035/viewer/2022062312/5555aab7d8b42a52568b48cf/html5/thumbnails/12.jpg)
WARGAMING: тыл — фронту!
AMQP WGNIWGRS
AMQP
HTTP API :: call()
WGCL
HTTP API :: call()
HTTP API :: call()
HTT
PH
TTP
PAPI
HTTP API :: call() HTTP API :: call()
jabberdBackyard
Взаимодействие компонентов
Exporter
AMQ
P
Portal
SPAHTTP API :: call()
HTTP API :: call()
AMQ
P
![Page 13: Максим Барышников (Wargaming.net)](https://reader035.fdocuments.in/reader035/viewer/2022062312/5555aab7d8b42a52568b48cf/html5/thumbnails/13.jpg)
WARGAMING: тыл — фронту!
Event-Driven SOA
Service Bus
Event Bus
Компонент
pub/sub call()
Компонент
pub/sub call()
Компонент
pub/sub call()
Компонент
pub/sub call()
Компонент
pub/sub call()
Компонент
pub/sub call()
call()pub/sub call()pub/sub call()pub/sub
![Page 14: Максим Барышников (Wargaming.net)](https://reader035.fdocuments.in/reader035/viewer/2022062312/5555aab7d8b42a52568b48cf/html5/thumbnails/14.jpg)
WARGAMING: тыл — фронту!
• RabbitMQ— messaging that just works
• Гибкий: маршрутизация, federated exchanges, etc.
• Multi-protocol: AMQP, MQTT, STOMP…
• Хорошие клиентские библиотеки
• Плагины
![Page 15: Максим Барышников (Wargaming.net)](https://reader035.fdocuments.in/reader035/viewer/2022062312/5555aab7d8b42a52568b48cf/html5/thumbnails/15.jpg)
WARGAMING: тыл — фронту!
• Kafka — распределенный коммит-лог
• Надежный: пишем сразу на диск и реплицируем
• Быстрый: сотни мегабайт RW/sec
• Масштабируемый: репликация и партиционирование
![Page 16: Максим Барышников (Wargaming.net)](https://reader035.fdocuments.in/reader035/viewer/2022062312/5555aab7d8b42a52568b48cf/html5/thumbnails/16.jpg)
WARGAMING: тыл — фронту!
Эпилог: Q&A
Максим Барышников[email protected]
http://wargaming.com/ru/careers/Более 200 вакансий в 12 странах мира