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 (프론트엔드)
- 역할: 사용자 인터페이스 제공
- 기술: Java/Spring Boot
- 통신: 모든 백엔드 서비스와 HTTP 통신
- 엔드포인트:
- Catalog:
http://catalog.catalog.svc:80
- Carts:
http://carts.carts.svc:80
- Orders:
http://orders.orders.svc:80
- Checkout:
http://checkout.checkout.svc:80
📚 Catalog Service (상품 카탈로그)
- 역할: 상품 정보 관리 및 제공
- 데이터베이스: MySQL (StatefulSet)
- 특징: 상품 데이터 영속성 보장