+ All Categories
Home > Internet > Максим Барышников (Wargaming.net)

Максим Барышников (Wargaming.net)

Date post: 15-May-2015
Category:
Upload: ontico
View: 368 times
Download: 1 times
Share this document with a friend
Popular Tags:
16
WARGAMING: тыл — фронту! WARGAMING: тыл — фронту! Максим Барышников
Transcript
Page 1: Максим Барышников (Wargaming.net)

WARGAMING: тыл — фронту!

WARGAMING:тыл — фронту!Максим Барышников

Page 2: Максим Барышников (Wargaming.net)

WARGAMING: тыл — фронту!

Часть первая, менеджерская

Page 3: Максим Барышников (Wargaming.net)

WARGAMING: тыл — фронту!

SPAExporter

WGNI

WGNP

WGNR

WGRS

PAPI

WGCLVROT

PortalSupport

WarGAG

Forum WGN

ClanWars

Page 4: Максим Барышников (Wargaming.net)

WARGAMING: тыл — фронту!

Много компонентов×

N игр (WoT, WoWP, WoWS…)×

M реалмов (RU, EU, NA, CN, ASIA…)=

WARGAMING WEB

Page 5: Максим Барышников (Wargaming.net)

WARGAMING: тыл — фронту!

• каждый компонент разрабатывается отдельно…вплоть до отдельной команды и менеджера

• ввзаимодействует с другими компонентами через APIили контракт

• зависимости управляются также, как в любомпакетном менеджере

Разработка компонентов

Page 6: Максим Барышников (Wargaming.net)

WARGAMING: тыл — фронту!

Часть вторая, техническая

Page 7: Максим Барышников (Wargaming.net)

WARGAMING: тыл — фронту!

Технологии

Page 8: Максим Барышников (Wargaming.net)

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)

WARGAMING: тыл — фронту!

• AMQP и HTTP API — основные способы взаимодействия

• Взаимодействие не всегда упорядочено

• Есть случаи, когда один компонент читает из БД другого

Page 10: Максим Барышников (Wargaming.net)

WARGAMING: тыл — фронту!

• 500+ Gb только данных игроков• 1500 логинов в секунду• 100+ боев заканчивается в

секунду• 3000+ игровых событий в

секунду

Page 11: Максим Барышников (Wargaming.net)

WARGAMING: тыл — фронту!

Часть третья, техническое будущее

Page 12: Максим Барышников (Wargaming.net)

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)

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)

WARGAMING: тыл — фронту!

• RabbitMQ— messaging that just works

• Гибкий: маршрутизация, federated exchanges, etc.

• Multi-protocol: AMQP, MQTT, STOMP…

• Хорошие клиентские библиотеки

• Плагины

Page 15: Максим Барышников (Wargaming.net)

WARGAMING: тыл — фронту!

• Kafka — распределенный коммит-лог

• Надежный: пишем сразу на диск и реплицируем

• Быстрый: сотни мегабайт RW/sec

• Масштабируемый: репликация и партиционирование

Page 16: Максим Барышников (Wargaming.net)

WARGAMING: тыл — фронту!

Эпилог: Q&A

Максим Барышников[email protected]

http://wargaming.com/ru/careers/Более 200 вакансий в 12 странах мира


Recommended