Change the future

Friday 12:10 p.m.–12:40 p.m.

Making DISQUS Realtime.

Adam Hitchcock

Audience level:
Experienced
Category:
Concurrency

Description

What does it take to add realtime functionality to a truly “web scale” app. The result is the DISQUS realtime system, a highly concurrent system for allowing web clients to subscribe to arbitrary events in the DISQUS infrastructure.

Abstract

  • Overview of the architecture (Redis + Kafka + Gevent + Flask) and why those choices were made
  • Which technology was #FailScale for us
  • Numbers! BIG NUMBERS! How much concurrency we have and msg/s we are supporting with realtime
  • How did we do this without using web sockets or long polling?
  • How we baked high availability into the application, not just the infrastructure
  • Overview of the hardware involved
  • Lessons learned (what broke hard, what worked awesome) Suggested audience experience:

Medium/Advanced level experience - Familiarity with Flask is good. - Redis knowledge is mandatory. - Gevent/Greenlet knowledge is mandatory.