DISQUS is the largest* django app out there. But we aren’t 100% Django.
In scaling our realtime architecture we have refined our ability to develop and launch services that are not in our main django app. This talk will be a deep dive into a few components and techniques that came out of the development of our realtime system.
Lessons we learned include:
- running a python service oriented architecture, and will show a lot of code (that you will be able to use!) to help you do the same.
- Why I like queues more than RPC.
- Idempotency for fun and profit.
- Separation of concerns makes deployments faster and smaller.
- Doing one thing well is better than doing two things kinda ok.
Tech I will talk about:
- kafka and rabbit, why do we have two queues in our system?
- zookeeper and how we use it to keep our services in sync.
- DISQUS can’t get enough of nginx! how we are replacing core services with (superfast) nginx modules.
- realtime data isn’t just for our front end product anymore, how we use storm and s3 to get realtime stats on all of the data that DISQUS generates in a day.
- we are somehow webscale without using node or mongodb.
*From a sample of looking at only DISQUS.
<a href=http://www.supportsdirect.com/>knee pain</a>