PostHole
Compose Login
You are browsing eu.zone1 in read-only mode. Log in to participate.
rss-bridge 2025-12-23T18:53:00+00:00

SE Radio 700: Mojtaba Sarooghi on Waiting Rooms for High-Traffic Events

Mojtaba Sarooghi, a Distinguished Product Architect at Queue-it, speaks with host Jeremy Jung about virtual waiting rooms for high-traffic events such as concerts and limited-quantity product releases. They explore using a virtual queue to prevent overloading systems, how most traffic is from bots, using edge workers to reduce requests to the customer's origin servers, and strategies for detecting bots in cooperation with vendors. Mojtaba discusses using AWS services like Elastic Load Balancing, DynamoDB, and Simple Notification Service, and explains why DynamoDB's eventual consistency is a good fit for their domain. To explain the approach, he walks us through how his team resolved an incident in which a traffic spike overloaded their services.

Brought to you by IEEE Computer Society and IEEE Software magazine.


Mojtaba Sarooghi, a Distinguished Product Architect at Queue-it, speaks with host Jeremy Jung about virtual waiting rooms for high-traffic events such as concerts and limited-quantity product releases. They explore using a virtual queue to prevent overloading systems, how most traffic is from bots, using edge workers to reduce requests to the customer’s origin servers, and strategies for detecting bots in cooperation with vendors. Mojtaba discusses using AWS services like Elastic Load Balancing, DynamoDB, and Simple Notification Service, and explains why DynamoDB’s eventual consistency is a good fit for their domain. To explain the approach, he walks us through how his team resolved an incident in which a traffic spike overloaded their services.

Brought to you by IEEE Computer Society and IEEE Software magazine.



Show Notes

Related Links


Transcript

Transcript brought to you by IEEE Software magazine.

This transcript was automatically generated. To suggest improvements in the text, please contact [email protected] and include the episode number and URL.

Jeremy Jung 00:00:19 Hey, this is Jeremy Jung for Software Engineering Radio and today I’m talking to Moji Sarooghi. He’s a distinguished project architect at Queue-it. Moji, welcome to Software Engineering Radio.

Mojtaba Sarooghi 00:00:31 Hello, hello. Nice to be here. I’m Product Architect, just to be clear.

Jeremy Jung 00:00:37 Oh, Product Architect. Okay.

Mojtaba Sarooghi 00:00:40 Sure.

Jeremy Jung 00:00:41 And I think what we should start with, because a lot of people won’t be familiar with what Queue-it is and what it does, what’s a virtual waiting room?

Mojtaba Sarooghi 00:00:52 When there is a traffic spike on a web server, what we do, we get that traffic and then based on some flow that our customer set, we redirect back those visitors to the customer website. Actually what we call it is more like a traffic management tool that we have, but what will happen under the hood or what is visible for our visitors that when there is a ticket sales or there is a specific product drop, there are a lot of people interested on that product so they go and try to buy that product. Imagine it could be a new iPhone release or really interesting singer that wants to have a new concert. So, the websites announced that there is the sale at this time a lot of people will go and try to buy that one. We get the first hit and we show a good user experience to the visitors and give them a fair user journey. We redirect back traffic to the customer websites, and they can buy the tickets or product that they’re interested in.

Jeremy Jung 00:02:00 And would this usually be where your customers would always have queued in front or would it be where the customer decides, oh I’m going to have this high traffic event and then, so I’ll only use it in these situations?

Mojtaba Sarooghi 00:02:14 Yeah, we have two different scenarios. We call it opening scenario. In the opening scenario we will set up and say that the waiting room will start at this specific time. So, the traffic not at that time will go directly to the origin, which means all the product pages and all the resources are accessible at that specific time. The traffic will be redirected to us. We have another scenario; we say 24/7 protection or we call it safety nets in the old name means that always traffic will be going through flow protection. So, if suddenly one of the customers without knowing it that there is a specific sale time. So, there is a social marketing goes and put a post in the social network, suddenly there is a surge of traffic coming to the website. We also monitor that one. So opening scenario versus 24/7 protection.

Jeremy Jung 00:03:10 Because for the second case, something that I’ve been experiencing a number of times is where a website that sells something, they put up a popular product and the time they put it up you go to the webpage and it just hangs or doesn’t load and people are all trying to refresh the page or wonder if they’re going to get in and they’re trying to put stuff in their cart and they’re getting error messages. So that’s what this tries to avoid.

Mojtaba Sarooghi 00:03:38 Exactly, exactly. That is the case. So how we kind of like talk about our surface is that there are two reasons here. The first one is that we want to give a good user experience to the visitors and that good user experience come by because of the scarcity. The nature of the product is that you have 10 or a hundred items in the stock. So how do you want to sell those? Whoever comes fast and on the internet for fast does not make sense. Am I closer to the data center so I’m fast or the other one is fast. So, what we do, we go for the opening scenario, everybody comes, they get randomized, get a place on the waiting room. So, it’s a kind of like a fair user journey. The other scenario as you mentioned is that I just put it there and then my website does not respond in the right time. So that is also a good, still we are talking about the good user journey in both scenarios.

Jeremy Jung 00:04:30 So I imagine each scenario is a little different in how Queue-it handles it. Out of the two, which one do you think we should start with? I want to walk through what happens when a user goes to the site and then how that flows through Queue-it’s architecture.

Mojtaba Sarooghi 00:04:46 From the technical perspective, both of them are the same, almost just the opening is different. So, we can start by the scheduled waiting room. I think that has something extra than 24/7 which is opening time.

Jeremy Jung 00:04:59 Okay, so let’s start with that. Let’s give an example of you’ve got a big event whether that’s a big concert or a conference that’s really popular and let’s say there’s a time that it’s scheduled to start, I go to the ticket selling page, what’s happening with Queue-it and my connection?

Mojtaba Sarooghi 00:05:20 Sure. I get also a little bit technical in this one what we have, we have a piece of code, we call it Connector. That code has a responsibility to look at the request context on that specific add to cart or visiting that specific ticketing page. What will happen, a visitor makes a request to the backend and this connector code is running on the customer website that could be sitting on the Edge, which is CDN, and we use Edge compute, we call it Edge worker. So that calculation or compute will happen on the Edge or could be on the customer website that could be a PHP server, dot .net server or Java server. And in each language, we have this connector. What does it do is that look at the request, look at the context. When I’m saying context, it’s clear, it could be cookie header or all the other information related to the HTP get or post.

[...]


Original source

📄 queue-it-high-availability-white-paper.pdf

Reply