EKS 클러스터 애플리케이션 토폴로지 다이어그램 (Application Topology Diagram)

개요 (Overview)

EKS 클러스터 “eksworkshop”에서 실행 중인 마이크로서비스 기반 온라인 소매점 애플리케이션의 현재 토폴로지를 시각화한 다이어그램입니다.

현재 실행 상태 (Current Running Status)

📊 파드 현황 요약 (Pod Status Summary)

네임스페이스 서비스 파드 수 상태 특이사항
ui UI Service 1개 ✅ Running 프론트엔드
catalog Catalog + MySQL 2개 ✅ Running 상품 카탈로그
carts Carts + DynamoDB 2개 ✅ Running 장바구니
checkout Checkout + Redis 4개 ✅ Running 3개 레플리카로 확장됨
orders Orders + PostgreSQL 2개 ✅ Running 주문 관리

🌐 서비스 네트워킹 (Service Networking)

서비스 ClusterIP 포트 역할
ui 172.20.91.250 80 웹 UI
catalog 172.20.119.150 80 상품 API
carts 172.20.215.192 80 장바구니 API
checkout 172.20.50.52 80 결제 API
orders 172.20.248.58 80 주문 API

애플리케이션 토폴로지 다이어그램 (Application Topology Diagram)

graph TB
    subgraph "EKS Cluster: eksworkshop (ap-northeast-2)"
        subgraph "UI Namespace"
            UI[UI Service<br/>ui-77d959f887-qx2nl<br/>✅ 1/1 Running<br/>🌐 172.20.91.250:80<br/>📦 Java/Spring Boot]
        end

        subgraph "Catalog Namespace"
            CAT[Catalog Service<br/>catalog-7f5cbc5d9-xh9bw<br/>✅ 1/1 Running<br/>🌐 172.20.119.150:80<br/>📦 Catalog API]
            MYSQL[MySQL Database<br/>catalog-mysql-0<br/>✅ 1/1 Running<br/>🌐 172.20.89.35:3306<br/>💾 StatefulSet]
            CAT --> MYSQL
        end

        subgraph "Carts Namespace"
            CART[Carts Service<br/>carts-5c55d4b6bb-cpnds<br/>✅ 1/1 Running<br/>🌐 172.20.215.192:80<br/>📦 Java/Spring Boot]
            DYNAMO[DynamoDB Local<br/>carts-dynamodb-698fcb695f-5dxh8<br/>✅ 1/1 Running<br/>🌐 172.20.237.10:8000<br/>💾 Local Container]
            CART --> DYNAMO
        end

        subgraph "Checkout Namespace - 🚀 SCALED TO 3 REPLICAS"
            CHECK1[Checkout Service #1<br/>checkout-54c6cd5685-wcjg9<br/>✅ 1/1 Running<br/>⏱️ 58분 Original]
            CHECK2[Checkout Service #2<br/>checkout-54c6cd5685-99qtd<br/>✅ 1/1 Running<br/>⏱️ 8분 New]
            CHECK3[Checkout Service #3<br/>checkout-54c6cd5685-pdhf7<br/>✅ 1/1 Running<br/>⏱️ 8분 New]
            CHECKLB[Checkout Load Balancer<br/>🌐 172.20.50.52:80<br/>⚖️ 3/3 Ready]
            REDIS[Redis Cache<br/>checkout-redis-7fb554999b-rrs4q<br/>✅ 1/1 Running<br/>🌐 172.20.47.238:6379<br/>💾 In-Memory Cache]

            CHECKLB --> CHECK1
            CHECKLB --> CHECK2
            CHECKLB --> CHECK3
            CHECK1 --> REDIS
            CHECK2 --> REDIS
            CHECK3 --> REDIS
        end

        subgraph "Orders Namespace"
            ORDER[Orders Service<br/>orders-5f4b646944-6gzl5<br/>✅ 1/1 Running<br/>🌐 172.20.248.58:80<br/>📦 Orders API]
            POSTGRES[PostgreSQL Database<br/>orders-postgresql-0<br/>✅ 1/1 Running<br/>🌐 172.20.25.216:5432<br/>💾 StatefulSet]
            ORDER --> POSTGRES
        end
    end

    subgraph "External Access"
        USER[👤 사용자<br/>User]
        BROWSER[🌐 웹 브라우저<br/>Web Browser]
        USER --> BROWSER
    end

    %% Service Communication Flow
    BROWSER --> UI
    UI -->|catalog.catalog.svc:80| CAT
    UI -->|carts.carts.svc:80| CART
    UI -->|checkout.checkout.svc:80| CHECKLB
    UI -->|orders.orders.svc:80| ORDER
    CHECKLB -->|orders.orders.svc:80| ORDER

    %% Styling
    classDef uiStyle fill:#e1f5fe,stroke:#01579b,stroke-width:2px
    classDef catalogStyle fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
    classDef cartsStyle fill:#e8f5e8,stroke:#1b5e20,stroke-width:2px
    classDef checkoutStyle fill:#fff3e0,stroke:#e65100,stroke-width:3px
    classDef ordersStyle fill:#fce4ec,stroke:#880e4f,stroke-width:2px
    classDef dbStyle fill:#f5f5f5,stroke:#424242,stroke-width:2px
    classDef userStyle fill:#e3f2fd,stroke:#0d47a1,stroke-width:2px

    class UI uiStyle
    class CAT,MYSQL catalogStyle
    class CART,DYNAMO cartsStyle
    class CHECK1,CHECK2,CHECK3,CHECKLB,REDIS checkoutStyle
    class ORDER,POSTGRES ordersStyle
    class USER,BROWSER userStyle

상세 서비스 분석 (Detailed Service Analysis)

🎯 UI Service (프론트엔드)

📚 Catalog Service (상품 카탈로그)