Wargaming: тыл - фронту!
-
Upload
python-meetup -
Category
Technology
-
view
310 -
download
0
description
Transcript of Wargaming: тыл - фронту!
![Page 1: Wargaming: тыл - фронту!](https://reader034.fdocument.pub/reader034/viewer/2022052600/557cf5b4d8b42a98158b4888/html5/thumbnails/1.jpg)
WARGAMING: тыл — фронту!
Максим БарышниковSolutions Architect
![Page 2: Wargaming: тыл - фронту!](https://reader034.fdocument.pub/reader034/viewer/2022052600/557cf5b4d8b42a98158b4888/html5/thumbnails/2.jpg)
2
Часть первая: организационная
![Page 3: Wargaming: тыл - фронту!](https://reader034.fdocument.pub/reader034/viewer/2022052600/557cf5b4d8b42a98158b4888/html5/thumbnails/3.jpg)
3
• Более 200 человек• 40+ проектов• Досье 60М игроков• 2М уникальных посетителей в день релиза
только на worldoftanks.ru
В цифрах
![Page 4: Wargaming: тыл - фронту!](https://reader034.fdocument.pub/reader034/viewer/2022052600/557cf5b4d8b42a98158b4888/html5/thumbnails/4.jpg)
4
Auth Service
Game Data APIWG Open ID
BackOffice
Rating System
Public API
ClansVehicle
RecoveryPortal
Support
WarGAG
ForumsWargaming.net
ClanWars
![Page 5: Wargaming: тыл - фронту!](https://reader034.fdocument.pub/reader034/viewer/2022052600/557cf5b4d8b42a98158b4888/html5/thumbnails/5.jpg)
5
Много компонентов×
N игр (WoT, WoWP, WoWS…)×
M реалмов (RU, EU, NA, CN, ASIA…)=
WARGAMING WEB
![Page 6: Wargaming: тыл - фронту!](https://reader034.fdocument.pub/reader034/viewer/2022052600/557cf5b4d8b42a98158b4888/html5/thumbnails/6.jpg)
6
• каждый компонент разрабатывается отдельно…вплоть до отдельной команды и менеджера
• ввзаимодействует с другими компонентами через APIили контракт
• зависимости управляются также, как в любомпакетном менеджере
Разработка компонентов
![Page 7: Wargaming: тыл - фронту!](https://reader034.fdocument.pub/reader034/viewer/2022052600/557cf5b4d8b42a98158b4888/html5/thumbnails/7.jpg)
7
Часть вторая: техническая
![Page 8: Wargaming: тыл - фронту!](https://reader034.fdocument.pub/reader034/viewer/2022052600/557cf5b4d8b42a98158b4888/html5/thumbnails/8.jpg)
8
Технологии
![Page 9: Wargaming: тыл - фронту!](https://reader034.fdocument.pub/reader034/viewer/2022052600/557cf5b4d8b42a98158b4888/html5/thumbnails/9.jpg)
9
AMQP Open IDRS
AMQP
HTTP API :: call()
Clans
HTTP API :: call()
HTTP API :: call()
HTTP
HTTP
Public API
HTTP API :: call() HTTP API :: call()
jabberdBackyard
Взаимодействие компонентов
Game API
AMQ
P
Portal
Auth ServiceHTTP API :: call()
HTTP API :: call()
AMQ
P
![Page 10: Wargaming: тыл - фронту!](https://reader034.fdocument.pub/reader034/viewer/2022052600/557cf5b4d8b42a98158b4888/html5/thumbnails/10.jpg)
10
• AMQP и HTTP API — основные способы взаимодействия
• Взаимодействие не всегда упорядочено
• Есть случаи, когда один компонент читает из БД другого
![Page 11: Wargaming: тыл - фронту!](https://reader034.fdocument.pub/reader034/viewer/2022052600/557cf5b4d8b42a98158b4888/html5/thumbnails/11.jpg)
11
• 500+ Gb только данных игроков• 1500 логинов в секунду• 100+ боев заканчивается в секунду• 3000+ игровых событий в секунду
![Page 12: Wargaming: тыл - фронту!](https://reader034.fdocument.pub/reader034/viewer/2022052600/557cf5b4d8b42a98158b4888/html5/thumbnails/12.jpg)
12
Часть третья: технические планы
![Page 13: Wargaming: тыл - фронту!](https://reader034.fdocument.pub/reader034/viewer/2022052600/557cf5b4d8b42a98158b4888/html5/thumbnails/13.jpg)
13
AMQP Open IDRS
AMQP
HTTP API :: call()
Clans
HTTP API :: call()
HTTP API :: call()
HTTP
HTTP
Public API
HTTP API :: call() HTTP API :: call()
jabberdBackyard
Взаимодействие компонентов
Game API
AMQ
P
Portal
Auth ServiceHTTP API :: call()
HTTP API :: call()
AMQ
P
![Page 14: Wargaming: тыл - фронту!](https://reader034.fdocument.pub/reader034/viewer/2022052600/557cf5b4d8b42a98158b4888/html5/thumbnails/14.jpg)
14
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 15: Wargaming: тыл - фронту!](https://reader034.fdocument.pub/reader034/viewer/2022052600/557cf5b4d8b42a98158b4888/html5/thumbnails/15.jpg)
15
• RabbitMQ— messaging that just works
• Гибкий: маршрутизация, federated exchanges, etc.
• Multi-protocol: AMQP, MQTT, STOMP…
• Хорошие клиентские библиотеки
• Плагины
![Page 16: Wargaming: тыл - фронту!](https://reader034.fdocument.pub/reader034/viewer/2022052600/557cf5b4d8b42a98158b4888/html5/thumbnails/16.jpg)
16
• Kafka — распределенный коммит-лог
• Надежный: пишем сразу на диск и реплицируем
• Быстрый: сотни мегабайт RW/sec
• Масштабируемый: репликация и партиционирование
![Page 17: Wargaming: тыл - фронту!](https://reader034.fdocument.pub/reader034/viewer/2022052600/557cf5b4d8b42a98158b4888/html5/thumbnails/17.jpg)
Эпилог: Q&A
Барышников МаксимSolutions Architect
![Page 18: Wargaming: тыл - фронту!](https://reader034.fdocument.pub/reader034/viewer/2022052600/557cf5b4d8b42a98158b4888/html5/thumbnails/18.jpg)
Developer Partner Program• Документация• Поддержка• Примеры• API Explorer• …
https://ru.wargaming.net/developers/