mirror of
https://github.com/ktds-dg0501/kt-event-marketing.git
synced 2026-06-12 23:19:10 +00:00
edit logical architecture
This commit is contained in:
@@ -1,15 +1,5 @@
|
||||
graph TB
|
||||
%% KT AI 기반 소상공인 이벤트 자동 생성 서비스 - 논리 아키텍처 (Context Map)
|
||||
|
||||
%% Client Layer
|
||||
subgraph "Client Layer"
|
||||
Mobile["Web/Mobile Client<br/>• React PWA<br/>• Mobile First<br/>• 반응형 디자인"]
|
||||
end
|
||||
|
||||
%% Gateway Layer
|
||||
subgraph "Gateway Layer"
|
||||
Gateway["API Gateway<br/>• JWT 인증/인가<br/>• 라우팅<br/>• Rate Limiting<br/>• 중앙 로깅"]
|
||||
end
|
||||
%% KT AI 기반 소상공인 이벤트 자동 생성 서비스 - 논리 아키텍처 (간소화 버전)
|
||||
|
||||
%% Service Layer
|
||||
subgraph "Service Layer"
|
||||
@@ -22,107 +12,37 @@ graph TB
|
||||
AnalSvc["Analytics Service<br/>• 실시간 대시보드<br/>• 채널별 성과<br/>• ROI 분석"]
|
||||
end
|
||||
|
||||
%% Data Layer
|
||||
subgraph "Data Layer"
|
||||
Cache["Redis Cache<br/>• 세션 정보<br/>• AI 추천 결과 (24h)<br/>• 이미지 URL (7d)<br/>• 대시보드 데이터 (5m)"]
|
||||
Queue["Message Queue<br/>• AI 작업 큐<br/>• 이미지 생성 큐<br/>• 배포 작업 큐"]
|
||||
UserDB["User DB<br/>• users<br/>• stores"]
|
||||
EventDB["Event DB<br/>• events<br/>• distribution_logs"]
|
||||
PartDB["Participation DB<br/>• participants<br/>• winners"]
|
||||
AnalDB["Analytics DB<br/>• event_stats<br/>• channel_stats"]
|
||||
end
|
||||
%% Message Queue
|
||||
Queue["Message Queue<br/>• AI 작업 큐<br/>• 이미지 생성 큐<br/>• 배포 작업 큐"]
|
||||
|
||||
%% External APIs
|
||||
subgraph "External APIs"
|
||||
TaxAPI["국세청 API<br/>사업자번호 검증"]
|
||||
ClaudeAPI["Claude/GPT-4 API<br/>AI 트렌드 분석<br/>이벤트 추천"]
|
||||
SDAPI["Stable Diffusion<br/>DALL-E API<br/>이미지 생성"]
|
||||
UriAPI["우리동네TV API<br/>영상 배포"]
|
||||
RingoAPI["링고비즈 API<br/>연결음 업데이트"]
|
||||
GenieAPI["지니TV API<br/>TV 광고"]
|
||||
SNSAPI["SNS APIs<br/>Instagram<br/>Naver<br/>Kakao"]
|
||||
end
|
||||
%% External System
|
||||
External["외부시스템<br/>• 국세청 API<br/>• AI API<br/>• 이미지 생성 API<br/>• 배포 채널 APIs"]
|
||||
|
||||
%% Client to Gateway (단일 연결)
|
||||
Mobile -->|HTTPS| Gateway
|
||||
|
||||
%% Gateway to Services (동기)
|
||||
Gateway -->|인증/프로필| UserSvc
|
||||
Gateway -->|이벤트 관리| EventSvc
|
||||
Gateway -->|참여자 관리| PartSvc
|
||||
Gateway -->|성과 분석| AnalSvc
|
||||
|
||||
%% Event Service Dependencies
|
||||
EventSvc -.->|"[Event]AI 추천 요청<br/>(Job 생성)"| Queue
|
||||
%% Service to Queue
|
||||
EventSvc -.->|AI 추천 요청| Queue
|
||||
EventSvc -.->|이미지 생성 요청| Queue
|
||||
Queue -.->|비동기 작업 처리| AISvc
|
||||
|
||||
EventSvc -.->|"[Event]이미지 생성 요청<br/>(Job 생성)"| Queue
|
||||
Queue -.->|비동기 작업 처리| ContentSvc
|
||||
|
||||
%% Service to Service
|
||||
EventSvc -->|배포 시작| DistSvc
|
||||
|
||||
%% AI Service Dependencies
|
||||
AISvc -.->|"AI 추천 캐싱<br/>(Cache-Aside, 24h)"| Cache
|
||||
AISvc -->|"트렌드 분석<br/>이벤트 추천<br/>(Circuit Breaker)"| ClaudeAPI
|
||||
|
||||
%% Content Service Dependencies
|
||||
ContentSvc -.->|"이미지 URL 캐싱<br/>(Cache-Aside, 7d)"| Cache
|
||||
ContentSvc -->|"이미지 생성<br/>(Circuit Breaker)"| SDAPI
|
||||
|
||||
%% Distribution Service Dependencies
|
||||
DistSvc -->|"영상 배포<br/>(Circuit Breaker)"| UriAPI
|
||||
DistSvc -->|"연결음 업데이트<br/>(Circuit Breaker)"| RingoAPI
|
||||
DistSvc -->|"TV 광고<br/>(Circuit Breaker)"| GenieAPI
|
||||
DistSvc -->|"SNS 자동 포스팅<br/>(Circuit Breaker)"| SNSAPI
|
||||
|
||||
%% User Service Dependencies
|
||||
UserSvc -.->|세션 관리| Cache
|
||||
UserSvc -.->|"사업자번호 캐싱<br/>(Cache-Aside, 7d)"| Cache
|
||||
UserSvc -->|"사업자번호 검증<br/>(Circuit Breaker)"| TaxAPI
|
||||
UserSvc -.->|사용자 정보| UserDB
|
||||
|
||||
%% Event Service Database
|
||||
EventSvc -.->|이벤트 정보| EventDB
|
||||
|
||||
%% Participation Service Dependencies
|
||||
PartSvc -.->|참여자 데이터| PartDB
|
||||
PartSvc -->|이벤트 정보 조회| EventSvc
|
||||
|
||||
%% Analytics Service Dependencies
|
||||
AnalSvc -.->|"대시보드 캐싱<br/>(Cache-Aside, 5m)"| Cache
|
||||
AnalSvc -.->|통계 데이터| AnalDB
|
||||
AnalSvc -->|이벤트 정보| EventSvc
|
||||
AnalSvc -->|참여자 데이터| PartSvc
|
||||
AnalSvc -->|배포 통계| DistSvc
|
||||
AnalSvc -->|"채널별 노출 수<br/>(Circuit Breaker)"| UriAPI
|
||||
AnalSvc -->|"채널별 노출 수<br/>(Circuit Breaker)"| GenieAPI
|
||||
AnalSvc -->|"SNS 통계<br/>(Circuit Breaker)"| SNSAPI
|
||||
|
||||
%% Service to External
|
||||
UserSvc -->|사업자번호 검증| External
|
||||
AISvc -->|트렌드 분석/추천| External
|
||||
ContentSvc -->|이미지 생성| External
|
||||
DistSvc -->|다중 채널 배포| External
|
||||
AnalSvc -->|채널별 통계| External
|
||||
|
||||
%% Styling
|
||||
classDef client fill:#BFDBFE,stroke:#3B82F6,stroke-width:2px
|
||||
classDef gateway fill:#2E86AB,stroke:#1E3A8A,stroke-width:2px,color:#fff
|
||||
classDef user fill:#4ECDC4,stroke:#14B8A6,stroke-width:2px
|
||||
classDef event fill:#F18F01,stroke:#F97316,stroke-width:2px
|
||||
classDef ai fill:#10B981,stroke:#059669,stroke-width:2px
|
||||
classDef content fill:#8B5CF6,stroke:#7C3AED,stroke-width:2px,color:#fff
|
||||
classDef dist fill:#EC4899,stroke:#DB2777,stroke-width:2px,color:#fff
|
||||
classDef part fill:#F59E0B,stroke:#F97316,stroke-width:2px
|
||||
classDef anal fill:#06B6D4,stroke:#0891B2,stroke-width:2px
|
||||
classDef cache fill:#FCD34D,stroke:#F59E0B,stroke-width:2px
|
||||
classDef service fill:#4ECDC4,stroke:#14B8A6,stroke-width:2px
|
||||
classDef queue fill:#FB923C,stroke:#EA580C,stroke-width:2px
|
||||
classDef db fill:#A78BFA,stroke:#8B5CF6,stroke-width:2px,color:#fff
|
||||
classDef external fill:#E5E7EB,stroke:#9CA3AF,stroke-width:2px
|
||||
|
||||
class Mobile client
|
||||
class Gateway gateway
|
||||
class UserSvc user
|
||||
class EventSvc event
|
||||
class AISvc ai
|
||||
class ContentSvc content
|
||||
class DistSvc dist
|
||||
class PartSvc part
|
||||
class AnalSvc anal
|
||||
class Cache cache
|
||||
class UserSvc,EventSvc,AISvc,ContentSvc,DistSvc,PartSvc,AnalSvc service
|
||||
class Queue queue
|
||||
class UserDB,EventDB,PartDB,AnalDB db
|
||||
class TaxAPI,ClaudeAPI,SDAPI,UriAPI,RingoAPI,GenieAPI,SNSAPI external
|
||||
class External external
|
||||
|
||||
Reference in New Issue
Block a user