THE Data Structure of our Real-time World : Queues
Mayank Badola (~mbad0la) |
18
Description:
Remember your college lectures on Queues? How insignificant they seemed!
But this "simple" data structure is the facilitator of modern software applications/services. In an effort to appreciate this data structure, let's celebrate queues and understand how they impact us software engineers each day at work.
Probable agenda is as follows :
- Denial of Service
- Taking a crude example of a hypothetical monolithic app, we will discuss about how requests get dropped and the impact of such scenarios
- What can be some of the mitigation steps
- This is to give a brief idea about the need for scaling apps
- Introduction to Queues
- What we know queues to be (as a data structure)
- What we need to start thinking of queues to be (as an abstract concept)
- Buffers and their purpose
- Tying queues and buffers together
- How queues help in improving softwares/services
- How they fit in
- Understanding how significant throughput is achieved
- Queues in action
- NodeJS's use of queues
- Apache Storm's use of queues
- LinkedIn's use of queues
- Hands-on: Celery (if time permits)
- A simple job scheduler
Prerequisites:
- Python (beginner proficiency)
Content URLs:
Slide Deck : https://docs.google.com/presentation/d/14CNH9dhaq_3_CntzxR6zQbkuWz6z2iXuQcuKS0Jy_o8/edit?usp=sharing
Speaker Info:
Mayank graduated from NSIT, Delhi in June and is currently working at Expedia, Gurgaon in the Air Platform Team
As a fresh graduate, allow him to lend a fresh perspective to how new engineers perceive real-time infrastructure and process the fact that they should have paid more attention to college!
Speaker Links:
Website : https://mayankbadola.me