Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Let's Chat about Chat - RICON 2014

1,287 views

Published on

In League of Legends, just as in any competitive team game, communication is essential to success. Therefore, when building Chat for the game we had to make sure that the new service would be absolutely rock solid in every respect. This includes not only guaranteed message delivery and consistent presence propagation across the system, but also maintenance of the created social network graph.

In this talk I would like to present how we achieved linear scalability for Chat, improved its overall fault tolerance, and got ready for the new features we wanted to ship. I will also discuss in detail why we migrated our data from MySQL to Riak and how we used CRDTs to deal with conflicting object updates.

Published in: Software
  • .DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... .DOWNLOAD PDF EBOOK here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... .DOWNLOAD EPUB Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... .DOWNLOAD doc Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... .DOWNLOAD PDF EBOOK here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... .DOWNLOAD EPUB Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... .DOWNLOAD doc Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Let's Chat about Chat - RICON 2014

  1. 1. LET’S CHAT ABOUT CHAT Michal Ptaszek, @michalptaszek Riot Games
  2. 2. WHAT’S PLANNED 1 2 3 4 5 GAME CHAT RIAK LESSONS LEARNED Q&A
  3. 3. WHAT IS LEAGUE OF LEGENDS? 2009 LAUNCH TEAM ORIENTED 100+ CHAMPS MODERN FANTASY
  4. 4. MESSAGING SERVICE PRESENCE SERVICE SOCIAL GRAPH SERVICE CHAT WHAT IS IT?
  5. 5. CHAT WHAT IS IT?
  6. 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. 7. CHAT AT 10K FEET STABLE, SCALABLE CHAT SERVICE PROTOCOL DATA SERVER STORE
  8. 8. CHAT AT 10K FEET STABLE, SCALABLE CHAT SERVICE DATA PROTOCOL SERVER STORE
  9. 9. PROTOCOL: XMPP Decentralized Architecture Openness Extensibility Availability of Client Libraries Security Wide Adoption
  10. 10. CHAT AT 10K FEET STABLE, SCALABLE CHAT SERVICE DATA PROTOCOL SERVER STORE
  11. 11. SERVER: EJABBERD ‣ ‣ ‣ ‣ ▾ ‣
  12. 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. 13. SERVER: EJABBERD - PHILOSOPHY ARCHITECTURE FAULT TOLERANCE LET IT CRASH
  14. 14. SERVER: EJABBERD - ARCHITECTURE Secondary Riak Cluster Riak Riak Ejabberd Ejabberd LB
  15. 15. CHAT AT 10K FEET STABLE, SCALABLE CHAT SERVICE PROTOCOL SERVER DATA STORE
  16. 16. ‣ ‣ ‣ ‣ RIAK RIAK: ARCHITECTURE SCALE Linearly scalable No growth headaches FAULT Higher TOLERANCE No SPoF uptime SCHEMA-LESS Faster feature iterations More shipped features
  17. 17. ARCHITECTURE DATA STORE: RIAK ‣ Riak Riak Riak Ejabberd Ejabberd Ejabberd ‣ ‣ ‣
  18. 18. RIAK: CONFLICT RESOLUTION CRDT ‣ ‣
  19. 19. RIAK: CONFLICT RESOLUTION CRDT ‣ ‣ ‣
  20. 20. FRIENDS LISTS RIAK: DATA TYPES ‣ ‣ ○ ○ ○ ○ ○
  21. 21. ‣ ‣ IGNORE LISTS RIAK: DATA TYPES
  22. 22. OFFLINE MESSAGES ‣ ‣ RIAK: DATA TYPES
  23. 23. LAST ONLINE TS ‣ ‣ ‣ RIAK: DATA TYPES
  24. 24. Source cluster #1 MDC REPLICATION DATA STORE: RIAK Sink cluster ‣ ‣ ‣ Source cluster #2 Source cluster #3
  25. 25. RIAK STATS RIAK: MONITORING ‣ ‣ ‣
  26. 26. RIAK CLUSTER RIAK: MONITORING ‣ ‣ ‣
  27. 27. KEEP YOUR OBJECTS SMALL LESSONS LEARNED ‣ ‣ ‣
  28. 28. AVOID SIBLINGS CREATION LESSONS LEARNED ‣ ‣ ‣
  29. 29. ALWAYS LOAD TEST YOUR CODE ‣ ‣ ‣ ‣ LESSONS LEARNED
  30. 30. THINGS WILL FAIL LESSONS LEARNED ‣ ‣ ‣ ‣
  31. 31. CHAT IS DOING GREAT! SCALE AND PERFORMANCE CHAT IS EVOLVING CURRENT SITUATION
  32. 32. THANK YOU! ANY QUESTIONS?

×