Your SlideShare is downloading. ×
Максим Барышников (Wargaming.net)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

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

308
views

Published on

Published in: Internet

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
308
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. WARGAMING: тыл — фронту! WARGAMING: тыл — фронту! Максим Барышников
  • 2. WARGAMING: тыл — фронту! Часть первая, менеджерская
  • 3. WARGAMING: тыл — фронту! SPA Exporter WGNI WGNP WGNR WGRS PAPI WGCL VROT Portal Support WarGAG Forum WGN ClanWars
  • 4. WARGAMING: тыл — фронту! Много компонентов × N игр (WoT, WoWP, WoWS…) × M реалмов (RU, EU, NA, CN, ASIA…) = WARGAMING WEB
  • 5. WARGAMING: тыл — фронту! • каждый компонент разрабатывается отдельно …вплоть до отдельной команды и менеджера • ввзаимодействует с другими компонентами через API или контракт • зависимости управляются также, как в любом пакетном менеджере Разработка компонентов
  • 6. WARGAMING: тыл — фронту! Часть вторая, техническая
  • 7. WARGAMING: тыл — фронту! Технологии
  • 8. WARGAMING: тыл — фронту! AMQP WGNI WGRS AMQP HTTP API :: call() WGCL HTTP API :: call() HTTP API :: call() HTTPHTTP PAPI HTTP API :: call() HTTP API :: call() jabberd Backyard Взаимодействие компонентов Exporter AMQP Portal SPA HTTP API :: call() HTTP API :: call() AMQP
  • 9. WARGAMING: тыл — фронту! • AMQP и HTTP API — основные способы взаимодействия • Взаимодействие не всегда упорядочено • Есть случаи, когда один компонент читает из БД другого
  • 10. WARGAMING: тыл — фронту! • 500+ Gb только данных игроков • 1500 логинов в секунду • 100+ боев заканчивается в секунду • 3000+ игровых событий в секунду
  • 11. WARGAMING: тыл — фронту! Часть третья, техническое будущее
  • 12. WARGAMING: тыл — фронту! AMQP WGNI WGRS AMQP HTTP API :: call() WGCL HTTP API :: call() HTTP API :: call() HTTPHTTP PAPI HTTP API :: call() HTTP API :: call() jabberd Backyard Взаимодействие компонентов Exporter AMQP Portal SPA HTTP API :: call() HTTP API :: call() AMQP
  • 13. 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
  • 14. WARGAMING: тыл — фронту! • RabbitMQ— messaging that just works • Гибкий: маршрутизация, federated exchanges, etc. • Multi-protocol: AMQP, MQTT, STOMP… • Хорошие клиентские библиотеки • Плагины
  • 15. WARGAMING: тыл — фронту! • Kafka — распределенный коммит-лог • Надежный: пишем сразу на диск и реплицируем • Быстрый: сотни мегабайт RW/sec • Масштабируемый: репликация и партиционирование
  • 16. WARGAMING: тыл — фронту! Эпилог: Q&A Максим Барышников m_baryshnikov@wargaming.net http://wargaming.com/ru/careers/ Более 200 вакансий в 12 странах мира