Web-development – What architecture design is used to create a virtual queue

architectural-patternsArchitectureenterprise-architectureweb-development

What architecture design is used to create a virtual queue?

A virtual queue, virtual waiting room or a virtual line can be described as:

An online queue system which redirects excess end-users to a virtual waiting room environment and passes the end-users back to the website or app in a first-come, first-served order. Usage could be to prevent website overload during peak times.

An example would be software like Queue-it or netacea

For example, in the context of ticketing web application –

  1. How do virtual queue instances integrate with ticket processing services?
  2. How are virtual queues maintained? For example, when clients drop out of the queue or requests are being processed
  3. How would virtual queues know when a service is under load and when to forward the request when they are not?

[UPDATE]

I understood a virtual queue to sit between the client and service monitoring all traffic to a specified service path. If the service is not overloaded forward the request else place request in the queue.

When a user is finished i.e through some action such as ticket purchase a new place is made available in the virtual queue.

If the service reads from the virtual queue how can it respond to the queued request, how could this be implemented?

How does the request response loop look in terms if a queued request a polling client and the service?

Best Answer

1 How do virtual queue instances integrate with ticket processing services?

The same way users integrate with ticket processing services. The only difference here is time.

2 How are virtual queues maintained? For example, when clients drop out of the queue or requests are being processed

If you drop out you don't get a ticket.

3 How would virtual queues know when a service is under load and when to forward the request when they are not?

They don't. Services can poll the queue and take work when they are ready for it. Once they empty the queue they can go to sleep. If you're ready to deal with concurrency issues look into the Producer Consumer Design Pattern

Related Topic