redis outer수정
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
860b8cc08f
commit
9e9c129c3c
@ -12,6 +12,7 @@ participant "Content Service" as Content
|
||||
participant "Distribution Service" as Dist
|
||||
participant "Kafka" as Kafka
|
||||
database "Event DB" as EventDB
|
||||
database "Redis" as Redis
|
||||
participant "외부 AI API" as AIApi
|
||||
participant "이미지 생성 API" as ImageApi
|
||||
participant "배포 채널 APIs" as ChannelApis
|
||||
@ -42,16 +43,17 @@ AI -> EventDB: 과거 이벤트 데이터 조회\n(업종, 지역 기반 통계
|
||||
EventDB --> AI: 이벤트 통계 데이터
|
||||
AI -> AIApi: 트렌드 분석 및 이벤트 추천 요청\n{목적, 업종, 지역, 과거데이터, 매장정보}
|
||||
AIApi --> AI: 3가지 추천안 + 트렌드 요약\n(예: "여름철 시원한 음료 선호도 증가")
|
||||
AI -> EventDB: 추천 결과 저장\n(3가지 추천안, 트렌드 요약 저장)
|
||||
EventDB --> AI: 저장 완료
|
||||
AI -> EventDB: Job 상태 업데이트\n(상태를 COMPLETED로 변경)
|
||||
AI -> Redis: 추천 결과 캐싱\n(3가지 추천안, 트렌드 요약 저장)\nTTL: 24시간
|
||||
Redis --> AI: 저장 완료
|
||||
AI -> Redis: Job 상태 업데이트\n(상태를 COMPLETED로 변경)
|
||||
note over AI, Redis: AI 추천 정보는 Redis에만 저장\n최종 선택 시 Event DB에 저장
|
||||
|
||||
group Polling으로 상태 확인
|
||||
loop 상태 확인 (최대 30초)
|
||||
FE -> Gateway: GET /jobs/{jobId}/status
|
||||
Gateway -> Event: Job 상태 조회
|
||||
Event -> EventDB: Job 상태 조회\n(jobId로 상태 및 결과 조회)
|
||||
EventDB --> Event: {status, result}
|
||||
Event -> Redis: Job 상태 조회\n(jobId로 상태 및 결과 조회)
|
||||
Redis --> Event: {status, result}
|
||||
|
||||
alt Job 완료
|
||||
Event --> Gateway: 200 OK\n{status: COMPLETED, recommendations, trendSummary}
|
||||
@ -99,22 +101,14 @@ else 트렌디 스타일
|
||||
ImageApi --> Content: 트렌디 이미지 URL
|
||||
end
|
||||
|
||||
note over Content: Redis 캐시에 이미지 URL 저장\nJob 상태를 COMPLETED로 업데이트
|
||||
|
||||
Content -> Kafka: Publish to event-topic\nContentCreated\n{jobId, eventDraftId, imageUrls}
|
||||
|
||||
note over Event: Kafka Consumer 구독\ninner sequence 참조:\nevent-콘텐츠생성완료구독.puml
|
||||
Kafka --> Event: ContentCreated 이벤트 수신
|
||||
Event -> EventDB: 이미지 URL 저장\n(이벤트 초안 업데이트)
|
||||
EventDB --> Event: 저장 완료
|
||||
note over Content: Redis 캐시에 이미지 URL 저장\nJob 상태를 COMPLETED로 업데이트\n\n이미지 URL은 Redis에만 저장됨\n최종 콘텐츠 선택 시 Event DB에 저장
|
||||
|
||||
group Polling으로 상태 확인
|
||||
loop 상태 확인 (최대 30초)
|
||||
FE -> Gateway: GET /jobs/{jobId}/status
|
||||
Gateway -> Event: Job 상태 조회
|
||||
note over Event: Redis 캐시 조회\n(jobId로 상태 확인)
|
||||
Event -> Event: Redis에서 Job 상태 조회
|
||||
Event --> Event: {status, imageUrls}
|
||||
Event -> Redis: Job 상태 조회\n(jobId로 상태 및 이미지 URL 조회)
|
||||
Redis --> Event: {status, imageUrls}
|
||||
|
||||
alt Job 완료
|
||||
Event --> Gateway: 200 OK\n{status: COMPLETED, imageUrls}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user