Skip to content

MongoDB Servers

MongoDB provides NoSQL storage for search keys, room mappings, logs, and performance metrics.


Architecture Diagram

graph TB
    subgraph MONGO_CLUSTER["MongoDB Infrastructure (8 VMs)"]
        subgraph SEARCH_KEYS["Search Key Cache (Cascading Read)"]
            M1["MongoDB-1<br/>10.32.8.51<br/>Primary"]
            M2["MongoDB-2<br/>10.32.8.52<br/>Secondary"]
            M3["MongoDB-3<br/>10.32.8.53<br/>Tertiary"]

            M1 -->|"Try First"| M2
            M2 -->|"If Miss"| M3
        end

        subgraph SPECIALIZED["Specialized MongoDB"]
            M4["MongoDB-Perf<br/>10.32.8.74<br/>216M metrics"]
            M5["MongoDB-Logs<br/>10.32.8.75<br/>162M logs"]
            M6["MongoDB-RoomMap<br/>10.32.8.96<br/>8.5M mappings"]
            M7["MongoDB-SupplierLog<br/>10.32.8.18"]
            M8["MongoDB-Unmapped<br/>10.32.8.101"]
        end
    end

    subgraph API["API Servers"]
        APIS["7 API Servers"]
    end

    APIS -->|"Search Keys"| M1
    APIS -->|"Performance Data"| M4
    APIS -->|"API Logs"| M5
    APIS -->|"Room Mapping"| M6

    style SEARCH_KEYS fill:#90EE90
    style SPECIALIZED fill:#FFE4B5

Server Inventory

Server IP Address Host Purpose Documents
MongoDB-1 10.32.8.51 XCP-1 Search Keys (Primary) ~2M
MongoDB-2 10.32.8.52 XCP-2 Search Keys (Secondary) ~2M
MongoDB-3 10.32.8.53 XCP-2 Search Keys (Tertiary) ~1.7M
MongoDB-Perf 10.32.8.74 XCP-3 Performance Metrics 216M
MongoDB-Logs 10.32.8.75 XCP-3 API Request Logs 162M
MongoDB-RoomMap 10.32.8.96 XCP-1 Room Mapping Data 8.5M
MongoDB-SupplierLog 10.32.8.18 XCP-3 Supplier Call Logs Variable
MongoDB-Unmapped 10.32.8.101 XCP-2 Unmapped Hotel Data Variable

Search Key Cascading Read Pattern

sequenceDiagram
    participant API as API Server
    participant M1 as MongoDB-51<br/>(Primary)
    participant M2 as MongoDB-52<br/>(Secondary)
    participant M3 as MongoDB-53<br/>(Tertiary)

    API->>M1: Query Search Key
    alt Found in M1
        M1-->>API: Return cached result
    else Not in M1
        API->>M2: Query Search Key
        alt Found in M2
            M2-->>API: Return cached result
        else Not in M2
            API->>M3: Query Search Key
            alt Found in M3
                M3-->>API: Return cached result
            else Cache Miss
                M3-->>API: Not found - call supplier
            end
        end
    end

Search Key Configuration

Configuration Value
Search Key TTL 30-60 minutes
Total Search Keys ~5.7M across 3 servers
Read Pattern Cascading (51 → 52 → 53)
Write Pattern Write to all 3

Document Volume Summary

Database Documents Purpose
Search Keys (3 servers) 5.7M Hotel search caching
Performance Metrics 216M APM data
API Logs 162M Request/response logs
Room Mappings 8.5M Hotel-room relationships
Total ~390M+ All MongoDB servers

Last Updated: 2025-12-02