# Scalable Architecture Design

## Overview

The application is designed to handle up to **15,000 requests per second (req/s)** on Ghaymah using multiple application containers behind a Load Balancer.

The architecture distributes incoming traffic evenly across multiple container instances to ensure high availability, scalability, and fault tolerance.

---

## Architecture Components

- Internet Users
- Ghaymah Load Balancer
- Multiple Application Containers
- Ghaymah Block Storage
- Database

---

## Traffic Flow

1. Users send requests to the application.
2. The Load Balancer receives all incoming traffic.
3. Requests are distributed evenly across the application containers.
4. Each container processes the request.
5. Stateful data is stored in the database using Ghaymah Block Storage.

---

## High Availability

If one container becomes unavailable, the Load Balancer automatically routes traffic to healthy containers without affecting users.

                 Internet Users
                        │
                        ▼
              Ghaymah Load Balancer
                        │
        ┌───────────────┼───────────────┐
        ▼               ▼               ▼
   App Container    App Container    App Container
        │               │               │
        └───────────────┼───────────────┘
                        │
                    Database
                        │
                        ▼
           Ghaymah Block Storage