SlideShare a Scribd company logo
1 of 30
Download to read offline
SCALING LoL CHAT 
TO 70 MILLION PLAYERS 
Michal Ptaszek, @michalptaszek 
Riot Games
WHAT’S PLANNED 
1 2 3 4 
GAME CHAT TECH LESSONS 
LEARNED 
5 
Q&A
WHAT IS LEAGUE OF LEGENDS? 
2009 
LAUNCH 
TEAM 
ORIENTED 
100+ 
CHAMPS 
MODERN 
FANTASY
MESSAGING SERVICE 
Private player chat and group chats. 
PRESENCE SERVICE 
Friend lists, availability and status. 
SOCIAL GRAPH SERVICE 
Internal service for store, match history, leagues. 
CHAT 
WHAT IS IT?
CHAT 
WHAT IS IT?
CHAT BY THE NUMBERS 
67 million 
monthly 
players 
27 million 
daily 
players 
7.5 million 
concurrent 
players 
1 billion 
events 
routed per 
server, per 
day
CHAT AT 10K FEET 
STABLE, SCALABLE CHAT SERVICE 
PROTOCOL DATA 
SERVER STORE
CHAT AT 10K FEET 
STABLE, SCALABLE CHAT SERVICE 
DATA 
PROTOCOL SERVER STORE
PROTOCOL: XMPP 
Decentralized 
Architecture 
Openness 
Extensibility 
Availability of 
Client 
Libraries 
Security Wide 
Adoption
CHAT AT 10K FEET 
STABLE, SCALABLE CHAT SERVICE 
DATA 
PROTOCOL SERVER STORE
SERVER: EJABBERD 
‣ Open source Jabber/XMPP server 
‣ Relatively nice scalability and performance with default configuration 
‣ Wide adoption and active, helpful community 
‣ Very good as a starting point for our own server solution 
▾ We were aware that one day we would need to start customizing it 
‣ Written in Erlang programming language
TECHNOLOGY: ERLANG/OTP 
Erlang is... 
Which gives us... 
A functional language 
Built with concurrency and 
distribution in mind 
Able to scale extremely well 
Capable of reloading code on the fly 
A declarative style of programming 
An easier way to build our 
distributed applications 
More time to focus on coding 
Less downtime
SERVER: EJABBERD - PHILOSOPHY 
Share nothing approach; enables massive, near linear 
horizontal scalability. ARCHITECTURE 
Implementation of self-healing properties, which bring the 
system to a well-known, stable state. 
FAULT 
TOLERANCE 
When something is massively broken - do not fix it! LET IT 
CRASH
SERVER: EJABBERD - ARCHITECTURE 
ETL Queries 
Secondary 
Riak Cluster 
External Traffic (5223) 
Internal Traffic 
Riak Riak 
Ejabberd 
Server 
Ejabberd LB 
Server
SERVER: EJABBERD - IMPLEMENTATION 
PHASE 1 - MAKE IT WORK 
‣ Over time mostly rewritten 
‣ Removed unwanted and unneeded 
parts 
‣ Optimized certain flow paths 
‣ Make it compatible with industry 
standards 
‣ Wrote over 600 tests to cover it 
Invite 
Alice Bob 
Accept 
Alice Bob 
Invite 
Alice Bob 
Accept 
Alice Bob 
Alice Bob
SERVER: EJABBERD - IMPLEMENTATION 
PHASE 1 - MAKE IT WORK 
‣ Over time mostly rewritten 
‣ Removed unwanted and unneeded 
parts 
‣ Optimized certain flow paths 
‣ Make it compatible with industry 
standards 
‣ Wrote over 600 tests to cover it 
Invite 
Alice Bob 
Accept 
Alice Bob 
Alice Bob
SERVER: EJABBERD - IMPLEMENTATION 
PHASE 2: MAKE IT RIGHT 
‣ Removed clear bottlenecks 
‣ Avoid shared, mutable state 
‣ “Make it work, make it right, make it 
fast” 
MUC 
router 
user 
sesussioenr 
sesussioenr 
session 
MUC 
room 
user 
sesussioenr 
sesussioenr 
session 
user 
sesussioenr 
sesussioenr 
session 
MUC 
room 
MUC 
room
SERVER: EJABBERD - IMPLEMENTATION 
PHASE 2: MAKE IT RIGHT 
‣ Removed clear bottlenecks 
‣ Avoid shared, mutable state 
‣ “Make it work, make it right, make it 
fast” 
user 
sesussioenr 
sesussioenr 
session 
MUC 
room 
user 
sesussioenr 
sesussioenr 
session 
user 
sesussioenr 
sesussioenr 
session 
MUC 
room 
MUC 
room
SERVER: EJABBERD - IMPLEMENTATION 
PHASE 2: MAKE IT RIGHT 
‣ Removed clear bottlenecks 
‣ Avoid shared, mutable state 
‣ “Make it work, make it right, make it 
fast” 
Session Table: 
JID -> Session Handler 
session table 
Alice 
Bob Charlie
SERVER: EJABBERD - IMPLEMENTATION 
PHASE 3 - MAKE IT FAST 
‣ Patched VM and stdlibs 
‣ Sacrificing generic nature of 
Erlang/OTP framework in favor of 
better scalability and fault tolerance 
‣ Better traceability and profiling 
functions 
‣ More visibility into the system 
‣ Improved logging for code reloading 
and real time system upgrades
CHAT AT 10K FEET 
STABLE, SCALABLE CHAT SERVICE 
PROTOCOL SERVER DATA 
STORE
NOSQL 
DATA STORE: RIAK 
SCALE Linearly 
scalable 
No growth 
headaches 
FAULT 
Higher 
TOLERANCE No SPoF uptime 
SCHEMA-LESS 
Faster 
feature 
iterations 
More 
shipped 
features 
‣ Distributed, fault-tolerant, 
key-value store 
‣ Masterless, fully peer-to-peer 
architecture 
‣ AP in CAP theorem, with 
eventual consistency 
‣ Low, predictable latency 
‣ Extreme scalability 
‣ Multi data center 
replication
LESSONS LEARNED 
UNDERSTAND YOUR SYSTEM 
‣ Over 500 real-time 
counters, rates, histograms 
collected each minute 
‣ Make sure to know counter 
values for “correct” and 
“abnormal” conditions 
‣ Alerts and logs for long 
running operations 
‣ Integration with Graphite, 
Zabbix and Nagios
IMPLEMENT FEATURE TOGGLES 
LESSONS LEARNED 
‣ Safety valve for 
things that might 
cause problems 
‣ Partial deployments 
allowing features to 
be enabled only for 
certain groups of 
people 
Alice Bob Charlie 
group reordering 
feature 
whitelist: Bob 
Bob
SUPPORT CODE RELOADING 
‣ Patching bugs on the 
fly 
‣ Changing server 
configuration 
‣ Collecting data for 
future analysis 
‣ No downtime 
deploys 
LESSONS LEARNED 
buggy 
code 
fixed 
code 
server 
restart 
buggy 
code 
fixed 
code
GET YOUR LOGGING RIGHT 
LESSONS LEARNED 
‣ Proper logging and 
tracing facilities 
‣ Debug modes for 
selected users 
‣ Tools for analysis of 
the collected data 
Alice 
ejabberd.log slow_db.log 
trace_alice.log 
roster_audit.log muc_audit.log 
Honu
ALWAYS LOAD TEST YOUR CODE 
‣ Automatic verification 
of the latest builds 
‣ Collecting historical 
results for comparison 
‣ Measuring the impact 
of new features and 
changes to the code 
‣ Simulating various 
failures 
LESSONS LEARNED
THINGS WILL FAIL 
LESSONS LEARNED 
‣ Prepare for the worst 
‣ It’s just a matter of 
time for crash to 
happen 
‣ It’s not only our code 
that fails 
‣ Unlikely events 
happen every second 
under given scale
CHAT IS DOING GREAT! 
The quality uptime is over 99% each month, and is increasing, with hundreds 
of servers deployed all over the world. 
SCALE AND PERFORMANCE 
Each server offer reliable, low latency to the players, routing over 1B events 
a day with low resource utilization. 
CHAT IS EVOLVING 
Rolling out Riak worldwide, making LoL Chat available outside of the client, 
explore possibilities around using social graph data, and more... 
CURRENT 
SITUATION
THANK YOU! 
ANY QUESTIONS?

More Related Content

What's hot

ORC File and Vectorization - Hadoop Summit 2013
ORC File and Vectorization - Hadoop Summit 2013ORC File and Vectorization - Hadoop Summit 2013
ORC File and Vectorization - Hadoop Summit 2013Owen O'Malley
 
RedisConf17- Using Redis at scale @ Twitter
RedisConf17- Using Redis at scale @ TwitterRedisConf17- Using Redis at scale @ Twitter
RedisConf17- Using Redis at scale @ TwitterRedis Labs
 
Finite State Queries In Lucene
Finite State Queries In LuceneFinite State Queries In Lucene
Finite State Queries In Luceneotisg
 
Apache Hudi: The Path Forward
Apache Hudi: The Path ForwardApache Hudi: The Path Forward
Apache Hudi: The Path ForwardAlluxio, Inc.
 
Operating and Supporting Delta Lake in Production
Operating and Supporting Delta Lake in ProductionOperating and Supporting Delta Lake in Production
Operating and Supporting Delta Lake in ProductionDatabricks
 
A Thorough Comparison of Delta Lake, Iceberg and Hudi
A Thorough Comparison of Delta Lake, Iceberg and HudiA Thorough Comparison of Delta Lake, Iceberg and Hudi
A Thorough Comparison of Delta Lake, Iceberg and HudiDatabricks
 
The Rise of ZStandard: Apache Spark/Parquet/ORC/Avro
The Rise of ZStandard: Apache Spark/Parquet/ORC/AvroThe Rise of ZStandard: Apache Spark/Parquet/ORC/Avro
The Rise of ZStandard: Apache Spark/Parquet/ORC/AvroDatabricks
 
Sharding Methods for MongoDB
Sharding Methods for MongoDBSharding Methods for MongoDB
Sharding Methods for MongoDBMongoDB
 
Parquet performance tuning: the missing guide
Parquet performance tuning: the missing guideParquet performance tuning: the missing guide
Parquet performance tuning: the missing guideRyan Blue
 
Tech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of Facebook
Tech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of FacebookTech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of Facebook
Tech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of FacebookThe Hive
 
Ozone- Object store for Apache Hadoop
Ozone- Object store for Apache HadoopOzone- Object store for Apache Hadoop
Ozone- Object store for Apache HadoopHortonworks
 
Your first ClickHouse data warehouse
Your first ClickHouse data warehouseYour first ClickHouse data warehouse
Your first ClickHouse data warehouseAltinity Ltd
 
Batch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & IcebergBatch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & IcebergFlink Forward
 
Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...
Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...
Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...HostedbyConfluent
 
cLoki: Like Loki but for ClickHouse
cLoki: Like Loki but for ClickHousecLoki: Like Loki but for ClickHouse
cLoki: Like Loki but for ClickHouseAltinity Ltd
 
High throughput data replication over RAFT
High throughput data replication over RAFTHigh throughput data replication over RAFT
High throughput data replication over RAFTDataWorks Summit
 

What's hot (20)

ORC File and Vectorization - Hadoop Summit 2013
ORC File and Vectorization - Hadoop Summit 2013ORC File and Vectorization - Hadoop Summit 2013
ORC File and Vectorization - Hadoop Summit 2013
 
RedisConf17- Using Redis at scale @ Twitter
RedisConf17- Using Redis at scale @ TwitterRedisConf17- Using Redis at scale @ Twitter
RedisConf17- Using Redis at scale @ Twitter
 
Finite State Queries In Lucene
Finite State Queries In LuceneFinite State Queries In Lucene
Finite State Queries In Lucene
 
Apache Hudi: The Path Forward
Apache Hudi: The Path ForwardApache Hudi: The Path Forward
Apache Hudi: The Path Forward
 
Operating and Supporting Delta Lake in Production
Operating and Supporting Delta Lake in ProductionOperating and Supporting Delta Lake in Production
Operating and Supporting Delta Lake in Production
 
Apache Spark Architecture
Apache Spark ArchitectureApache Spark Architecture
Apache Spark Architecture
 
A Thorough Comparison of Delta Lake, Iceberg and Hudi
A Thorough Comparison of Delta Lake, Iceberg and HudiA Thorough Comparison of Delta Lake, Iceberg and Hudi
A Thorough Comparison of Delta Lake, Iceberg and Hudi
 
Intro to HBase
Intro to HBaseIntro to HBase
Intro to HBase
 
The Rise of ZStandard: Apache Spark/Parquet/ORC/Avro
The Rise of ZStandard: Apache Spark/Parquet/ORC/AvroThe Rise of ZStandard: Apache Spark/Parquet/ORC/Avro
The Rise of ZStandard: Apache Spark/Parquet/ORC/Avro
 
InnoDB Locking Explained with Stick Figures
InnoDB Locking Explained with Stick FiguresInnoDB Locking Explained with Stick Figures
InnoDB Locking Explained with Stick Figures
 
Sharding Methods for MongoDB
Sharding Methods for MongoDBSharding Methods for MongoDB
Sharding Methods for MongoDB
 
Parquet performance tuning: the missing guide
Parquet performance tuning: the missing guideParquet performance tuning: the missing guide
Parquet performance tuning: the missing guide
 
Tech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of Facebook
Tech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of FacebookTech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of Facebook
Tech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of Facebook
 
Bluestore
BluestoreBluestore
Bluestore
 
Ozone- Object store for Apache Hadoop
Ozone- Object store for Apache HadoopOzone- Object store for Apache Hadoop
Ozone- Object store for Apache Hadoop
 
Your first ClickHouse data warehouse
Your first ClickHouse data warehouseYour first ClickHouse data warehouse
Your first ClickHouse data warehouse
 
Batch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & IcebergBatch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & Iceberg
 
Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...
Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...
Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...
 
cLoki: Like Loki but for ClickHouse
cLoki: Like Loki but for ClickHousecLoki: Like Loki but for ClickHouse
cLoki: Like Loki but for ClickHouse
 
High throughput data replication over RAFT
High throughput data replication over RAFTHigh throughput data replication over RAFT
High throughput data replication over RAFT
 

Viewers also liked

Big Data at Riot Games – Using Hadoop to Understand Player Experience - Stamp...
Big Data at Riot Games – Using Hadoop to Understand Player Experience - Stamp...Big Data at Riot Games – Using Hadoop to Understand Player Experience - Stamp...
Big Data at Riot Games – Using Hadoop to Understand Player Experience - Stamp...StampedeCon
 
Let's Chat about Chat - RICON 2014
Let's Chat about Chat - RICON 2014 Let's Chat about Chat - RICON 2014
Let's Chat about Chat - RICON 2014 Michał Ptaszek
 
Performance optimization 101 - Erlang Factory SF 2014
Performance optimization 101 - Erlang Factory SF 2014Performance optimization 101 - Erlang Factory SF 2014
Performance optimization 101 - Erlang Factory SF 2014lpgauth
 
ประกาศสอบ
ประกาศสอบประกาศสอบ
ประกาศสอบnongplongschool
 
Marketing Portfolio
Marketing PortfolioMarketing Portfolio
Marketing PortfolioGary Little
 
Presentacion IniciativasEC3 Daniel Torres
Presentacion IniciativasEC3 Daniel TorresPresentacion IniciativasEC3 Daniel Torres
Presentacion IniciativasEC3 Daniel TorresEC3metrics Spin-Off
 
Oris Watches
Oris WatchesOris Watches
Oris Watchesbelwatc7
 
3r tema 1 com som . cos humà
3r tema 1 com som . cos humà3r tema 1 com som . cos humà
3r tema 1 com som . cos humànalsina
 
Presentación SocietalImpact Daniel Torres
Presentación SocietalImpact Daniel Torres Presentación SocietalImpact Daniel Torres
Presentación SocietalImpact Daniel Torres EC3metrics Spin-Off
 
Junior java standard edition developer
Junior java standard edition developerJunior java standard edition developer
Junior java standard edition developerDmitriy Neguritsa
 
V miss u sweetheart!!
V miss u sweetheart!!V miss u sweetheart!!
V miss u sweetheart!!Vijayta Verma
 
Kruche presentation 2015
Kruche presentation 2015Kruche presentation 2015
Kruche presentation 2015Kruche!
 

Viewers also liked (13)

Big Data at Riot Games – Using Hadoop to Understand Player Experience - Stamp...
Big Data at Riot Games – Using Hadoop to Understand Player Experience - Stamp...Big Data at Riot Games – Using Hadoop to Understand Player Experience - Stamp...
Big Data at Riot Games – Using Hadoop to Understand Player Experience - Stamp...
 
Let's Chat about Chat - RICON 2014
Let's Chat about Chat - RICON 2014 Let's Chat about Chat - RICON 2014
Let's Chat about Chat - RICON 2014
 
Performance optimization 101 - Erlang Factory SF 2014
Performance optimization 101 - Erlang Factory SF 2014Performance optimization 101 - Erlang Factory SF 2014
Performance optimization 101 - Erlang Factory SF 2014
 
ECU Masterclass slides August 2014
ECU Masterclass slides August 2014ECU Masterclass slides August 2014
ECU Masterclass slides August 2014
 
ประกาศสอบ
ประกาศสอบประกาศสอบ
ประกาศสอบ
 
Marketing Portfolio
Marketing PortfolioMarketing Portfolio
Marketing Portfolio
 
Presentacion IniciativasEC3 Daniel Torres
Presentacion IniciativasEC3 Daniel TorresPresentacion IniciativasEC3 Daniel Torres
Presentacion IniciativasEC3 Daniel Torres
 
Oris Watches
Oris WatchesOris Watches
Oris Watches
 
3r tema 1 com som . cos humà
3r tema 1 com som . cos humà3r tema 1 com som . cos humà
3r tema 1 com som . cos humà
 
Presentación SocietalImpact Daniel Torres
Presentación SocietalImpact Daniel Torres Presentación SocietalImpact Daniel Torres
Presentación SocietalImpact Daniel Torres
 
Junior java standard edition developer
Junior java standard edition developerJunior java standard edition developer
Junior java standard edition developer
 
V miss u sweetheart!!
V miss u sweetheart!!V miss u sweetheart!!
V miss u sweetheart!!
 
Kruche presentation 2015
Kruche presentation 2015Kruche presentation 2015
Kruche presentation 2015
 

Similar to Scaling LoL Chat to 70M Players

Using Kubernetes to deliver a “serverless” service
Using Kubernetes to deliver a “serverless” serviceUsing Kubernetes to deliver a “serverless” service
Using Kubernetes to deliver a “serverless” serviceDoKC
 
Kubernetes Failure Stories - KubeCon Europe Barcelona
Kubernetes Failure Stories - KubeCon Europe BarcelonaKubernetes Failure Stories - KubeCon Europe Barcelona
Kubernetes Failure Stories - KubeCon Europe BarcelonaHenning Jacobs
 
WebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SF
WebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SFWebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SF
WebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SFAlexandre Gouaillard
 
Circonus: Design failures - A Case Study
Circonus: Design failures - A Case StudyCirconus: Design failures - A Case Study
Circonus: Design failures - A Case StudyHeinrich Hartmann
 
Become a Performance Diagnostics Hero
Become a Performance Diagnostics HeroBecome a Performance Diagnostics Hero
Become a Performance Diagnostics HeroTechWell
 
Flink Forward San Francisco 2018: Dave Torok & Sameer Wadkar - "Embedding Fl...
Flink Forward San Francisco 2018:  Dave Torok & Sameer Wadkar - "Embedding Fl...Flink Forward San Francisco 2018:  Dave Torok & Sameer Wadkar - "Embedding Fl...
Flink Forward San Francisco 2018: Dave Torok & Sameer Wadkar - "Embedding Fl...Flink Forward
 
Compliance Automation with InSpec - Chef NYC Meetup - April 2017
Compliance Automation with InSpec - Chef NYC Meetup - April 2017Compliance Automation with InSpec - Chef NYC Meetup - April 2017
Compliance Automation with InSpec - Chef NYC Meetup - April 2017adamleff
 
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...Henning Jacobs
 
Increasing velocity via serless semantics
Increasing velocity via serless semanticsIncreasing velocity via serless semantics
Increasing velocity via serless semanticsKfir Bloch
 
Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph Ceph Community
 
High Performance Object Pascal Code on Servers (at EKON 22)
High Performance Object Pascal Code on Servers (at EKON 22)High Performance Object Pascal Code on Servers (at EKON 22)
High Performance Object Pascal Code on Servers (at EKON 22)Arnaud Bouchez
 
Accelerate Your OpenStack Deployment
Accelerate Your OpenStack Deployment Accelerate Your OpenStack Deployment
Accelerate Your OpenStack Deployment NetApp
 
AF Ceph: Ceph Performance Analysis and Improvement on Flash
AF Ceph: Ceph Performance Analysis and Improvement on FlashAF Ceph: Ceph Performance Analysis and Improvement on Flash
AF Ceph: Ceph Performance Analysis and Improvement on FlashCeph Community
 
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ... The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...Josef Adersberger
 
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...QAware GmbH
 
Ceph Day Seoul - AFCeph: SKT Scale Out Storage Ceph
Ceph Day Seoul - AFCeph: SKT Scale Out Storage Ceph Ceph Day Seoul - AFCeph: SKT Scale Out Storage Ceph
Ceph Day Seoul - AFCeph: SKT Scale Out Storage Ceph Ceph Community
 
Liveperson DLD 2015
Liveperson DLD 2015 Liveperson DLD 2015
Liveperson DLD 2015 LivePerson
 
M|18 How DBAs at TradingScreen Make Life Easier With Automation
M|18 How DBAs at TradingScreen Make Life Easier With AutomationM|18 How DBAs at TradingScreen Make Life Easier With Automation
M|18 How DBAs at TradingScreen Make Life Easier With AutomationMariaDB plc
 
MySQL 5.6 - Operations and Diagnostics Improvements
MySQL 5.6 - Operations and Diagnostics ImprovementsMySQL 5.6 - Operations and Diagnostics Improvements
MySQL 5.6 - Operations and Diagnostics ImprovementsMorgan Tocker
 

Similar to Scaling LoL Chat to 70M Players (20)

Using Kubernetes to deliver a “serverless” service
Using Kubernetes to deliver a “serverless” serviceUsing Kubernetes to deliver a “serverless” service
Using Kubernetes to deliver a “serverless” service
 
Kubernetes Failure Stories - KubeCon Europe Barcelona
Kubernetes Failure Stories - KubeCon Europe BarcelonaKubernetes Failure Stories - KubeCon Europe Barcelona
Kubernetes Failure Stories - KubeCon Europe Barcelona
 
Into The Box 2018 Ortus Keynote
Into The Box 2018 Ortus KeynoteInto The Box 2018 Ortus Keynote
Into The Box 2018 Ortus Keynote
 
WebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SF
WebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SFWebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SF
WebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SF
 
Circonus: Design failures - A Case Study
Circonus: Design failures - A Case StudyCirconus: Design failures - A Case Study
Circonus: Design failures - A Case Study
 
Become a Performance Diagnostics Hero
Become a Performance Diagnostics HeroBecome a Performance Diagnostics Hero
Become a Performance Diagnostics Hero
 
Flink Forward San Francisco 2018: Dave Torok & Sameer Wadkar - "Embedding Fl...
Flink Forward San Francisco 2018:  Dave Torok & Sameer Wadkar - "Embedding Fl...Flink Forward San Francisco 2018:  Dave Torok & Sameer Wadkar - "Embedding Fl...
Flink Forward San Francisco 2018: Dave Torok & Sameer Wadkar - "Embedding Fl...
 
Compliance Automation with InSpec - Chef NYC Meetup - April 2017
Compliance Automation with InSpec - Chef NYC Meetup - April 2017Compliance Automation with InSpec - Chef NYC Meetup - April 2017
Compliance Automation with InSpec - Chef NYC Meetup - April 2017
 
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...
 
Increasing velocity via serless semantics
Increasing velocity via serless semanticsIncreasing velocity via serless semantics
Increasing velocity via serless semantics
 
Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph
 
High Performance Object Pascal Code on Servers (at EKON 22)
High Performance Object Pascal Code on Servers (at EKON 22)High Performance Object Pascal Code on Servers (at EKON 22)
High Performance Object Pascal Code on Servers (at EKON 22)
 
Accelerate Your OpenStack Deployment
Accelerate Your OpenStack Deployment Accelerate Your OpenStack Deployment
Accelerate Your OpenStack Deployment
 
AF Ceph: Ceph Performance Analysis and Improvement on Flash
AF Ceph: Ceph Performance Analysis and Improvement on FlashAF Ceph: Ceph Performance Analysis and Improvement on Flash
AF Ceph: Ceph Performance Analysis and Improvement on Flash
 
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ... The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
 
Ceph Day Seoul - AFCeph: SKT Scale Out Storage Ceph
Ceph Day Seoul - AFCeph: SKT Scale Out Storage Ceph Ceph Day Seoul - AFCeph: SKT Scale Out Storage Ceph
Ceph Day Seoul - AFCeph: SKT Scale Out Storage Ceph
 
Liveperson DLD 2015
Liveperson DLD 2015 Liveperson DLD 2015
Liveperson DLD 2015
 
M|18 How DBAs at TradingScreen Make Life Easier With Automation
M|18 How DBAs at TradingScreen Make Life Easier With AutomationM|18 How DBAs at TradingScreen Make Life Easier With Automation
M|18 How DBAs at TradingScreen Make Life Easier With Automation
 
MySQL 5.6 - Operations and Diagnostics Improvements
MySQL 5.6 - Operations and Diagnostics ImprovementsMySQL 5.6 - Operations and Diagnostics Improvements
MySQL 5.6 - Operations and Diagnostics Improvements
 

Recently uploaded

Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...ranjana rawat
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 

Recently uploaded (20)

Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 

Scaling LoL Chat to 70M Players

  • 1. SCALING LoL CHAT TO 70 MILLION PLAYERS Michal Ptaszek, @michalptaszek Riot Games
  • 2. WHAT’S PLANNED 1 2 3 4 GAME CHAT TECH LESSONS LEARNED 5 Q&A
  • 3. WHAT IS LEAGUE OF LEGENDS? 2009 LAUNCH TEAM ORIENTED 100+ CHAMPS MODERN FANTASY
  • 4. MESSAGING SERVICE Private player chat and group chats. PRESENCE SERVICE Friend lists, availability and status. SOCIAL GRAPH SERVICE Internal service for store, match history, leagues. CHAT WHAT IS IT?
  • 6. CHAT BY THE NUMBERS 67 million monthly players 27 million daily players 7.5 million concurrent players 1 billion events routed per server, per day
  • 7. CHAT AT 10K FEET STABLE, SCALABLE CHAT SERVICE PROTOCOL DATA SERVER STORE
  • 8. CHAT AT 10K FEET STABLE, SCALABLE CHAT SERVICE DATA PROTOCOL SERVER STORE
  • 9. PROTOCOL: XMPP Decentralized Architecture Openness Extensibility Availability of Client Libraries Security Wide Adoption
  • 10. CHAT AT 10K FEET STABLE, SCALABLE CHAT SERVICE DATA PROTOCOL SERVER STORE
  • 11. SERVER: EJABBERD ‣ Open source Jabber/XMPP server ‣ Relatively nice scalability and performance with default configuration ‣ Wide adoption and active, helpful community ‣ Very good as a starting point for our own server solution ▾ We were aware that one day we would need to start customizing it ‣ Written in Erlang programming language
  • 12. TECHNOLOGY: ERLANG/OTP Erlang is... Which gives us... A functional language Built with concurrency and distribution in mind Able to scale extremely well Capable of reloading code on the fly A declarative style of programming An easier way to build our distributed applications More time to focus on coding Less downtime
  • 13. SERVER: EJABBERD - PHILOSOPHY Share nothing approach; enables massive, near linear horizontal scalability. ARCHITECTURE Implementation of self-healing properties, which bring the system to a well-known, stable state. FAULT TOLERANCE When something is massively broken - do not fix it! LET IT CRASH
  • 14. SERVER: EJABBERD - ARCHITECTURE ETL Queries Secondary Riak Cluster External Traffic (5223) Internal Traffic Riak Riak Ejabberd Server Ejabberd LB Server
  • 15. SERVER: EJABBERD - IMPLEMENTATION PHASE 1 - MAKE IT WORK ‣ Over time mostly rewritten ‣ Removed unwanted and unneeded parts ‣ Optimized certain flow paths ‣ Make it compatible with industry standards ‣ Wrote over 600 tests to cover it Invite Alice Bob Accept Alice Bob Invite Alice Bob Accept Alice Bob Alice Bob
  • 16. SERVER: EJABBERD - IMPLEMENTATION PHASE 1 - MAKE IT WORK ‣ Over time mostly rewritten ‣ Removed unwanted and unneeded parts ‣ Optimized certain flow paths ‣ Make it compatible with industry standards ‣ Wrote over 600 tests to cover it Invite Alice Bob Accept Alice Bob Alice Bob
  • 17. SERVER: EJABBERD - IMPLEMENTATION PHASE 2: MAKE IT RIGHT ‣ Removed clear bottlenecks ‣ Avoid shared, mutable state ‣ “Make it work, make it right, make it fast” MUC router user sesussioenr sesussioenr session MUC room user sesussioenr sesussioenr session user sesussioenr sesussioenr session MUC room MUC room
  • 18. SERVER: EJABBERD - IMPLEMENTATION PHASE 2: MAKE IT RIGHT ‣ Removed clear bottlenecks ‣ Avoid shared, mutable state ‣ “Make it work, make it right, make it fast” user sesussioenr sesussioenr session MUC room user sesussioenr sesussioenr session user sesussioenr sesussioenr session MUC room MUC room
  • 19. SERVER: EJABBERD - IMPLEMENTATION PHASE 2: MAKE IT RIGHT ‣ Removed clear bottlenecks ‣ Avoid shared, mutable state ‣ “Make it work, make it right, make it fast” Session Table: JID -> Session Handler session table Alice Bob Charlie
  • 20. SERVER: EJABBERD - IMPLEMENTATION PHASE 3 - MAKE IT FAST ‣ Patched VM and stdlibs ‣ Sacrificing generic nature of Erlang/OTP framework in favor of better scalability and fault tolerance ‣ Better traceability and profiling functions ‣ More visibility into the system ‣ Improved logging for code reloading and real time system upgrades
  • 21. CHAT AT 10K FEET STABLE, SCALABLE CHAT SERVICE PROTOCOL SERVER DATA STORE
  • 22. NOSQL DATA STORE: RIAK SCALE Linearly scalable No growth headaches FAULT Higher TOLERANCE No SPoF uptime SCHEMA-LESS Faster feature iterations More shipped features ‣ Distributed, fault-tolerant, key-value store ‣ Masterless, fully peer-to-peer architecture ‣ AP in CAP theorem, with eventual consistency ‣ Low, predictable latency ‣ Extreme scalability ‣ Multi data center replication
  • 23. LESSONS LEARNED UNDERSTAND YOUR SYSTEM ‣ Over 500 real-time counters, rates, histograms collected each minute ‣ Make sure to know counter values for “correct” and “abnormal” conditions ‣ Alerts and logs for long running operations ‣ Integration with Graphite, Zabbix and Nagios
  • 24. IMPLEMENT FEATURE TOGGLES LESSONS LEARNED ‣ Safety valve for things that might cause problems ‣ Partial deployments allowing features to be enabled only for certain groups of people Alice Bob Charlie group reordering feature whitelist: Bob Bob
  • 25. SUPPORT CODE RELOADING ‣ Patching bugs on the fly ‣ Changing server configuration ‣ Collecting data for future analysis ‣ No downtime deploys LESSONS LEARNED buggy code fixed code server restart buggy code fixed code
  • 26. GET YOUR LOGGING RIGHT LESSONS LEARNED ‣ Proper logging and tracing facilities ‣ Debug modes for selected users ‣ Tools for analysis of the collected data Alice ejabberd.log slow_db.log trace_alice.log roster_audit.log muc_audit.log Honu
  • 27. ALWAYS LOAD TEST YOUR CODE ‣ Automatic verification of the latest builds ‣ Collecting historical results for comparison ‣ Measuring the impact of new features and changes to the code ‣ Simulating various failures LESSONS LEARNED
  • 28. THINGS WILL FAIL LESSONS LEARNED ‣ Prepare for the worst ‣ It’s just a matter of time for crash to happen ‣ It’s not only our code that fails ‣ Unlikely events happen every second under given scale
  • 29. CHAT IS DOING GREAT! The quality uptime is over 99% each month, and is increasing, with hundreds of servers deployed all over the world. SCALE AND PERFORMANCE Each server offer reliable, low latency to the players, routing over 1B events a day with low resource utilization. CHAT IS EVOLVING Rolling out Riak worldwide, making LoL Chat available outside of the client, explore possibilities around using social graph data, and more... CURRENT SITUATION
  • 30. THANK YOU! ANY QUESTIONS?