외부 시퀀스 설계서 - 통신요금 관리 서비스

최적안: 이개발(백엔더)


개요

통신요금 관리 서비스의 3개 핵심 비즈니스 플로우에 대한 외부 시퀀스 설계입니다. 각 플로우는 UI/UX 설계서의 사용자 플로우와 논리아키텍처의 참여자를 기반으로 설계되었습니다.


설계 파일 목록

1. 사용자 인증 플로우

  • 파일: 사용자인증플로우.puml
  • 관련 유저스토리: UFR-AUTH-010, UFR-AUTH-020
  • 관련 화면: SCR-001 (로그인), SCR-002 (메인 화면)
  • 주요 기능: 로그인, 권한 확인, 세션 관리, JWT 토큰 처리

2. 요금조회 플로우

  • 파일: 요금조회플로우.puml
  • 관련 유저스토리: UFR-BILL-010, UFR-BILL-020, UFR-BILL-030, UFR-BILL-040
  • 관련 화면: SCR-003 (요금조회 메뉴), SCR-004 (요금조회 결과)
  • 주요 기능: 요금조회 메뉴, KOS 연동, 결과 캐싱, 이력 관리

3. 상품변경 플로우

  • 파일: 상품변경플로우.puml
  • 관련 유저스토리: UFR-PROD-010, UFR-PROD-020, UFR-PROD-030, UFR-PROD-040
  • 관련 화면: SCR-005 (상품변경 메뉴), SCR-006 (상품변경 화면), SCR-007 (상품변경 요청), SCR-008 (처리결과)
  • 주요 기능: 상품변경 메뉴, 사전체크, KOS 변경처리, 성공/실패 처리

설계 원칙 준수 현황

유저스토리 매칭

  • 총 10개 유저스토리 100% 반영
  • 불필요한 추가 설계 없음
  • 각 플로우별 관련 유저스토리 완전 반영

논리아키텍처 일치

  • 모든 참여자가 논리아키텍처와 일치
  • 서비스 간 통신 방식 일치 (동기/비동기)
  • 아키텍처 패턴 적용 (API Gateway, Cache-Aside, Circuit Breaker)

UI/UX 플로우 반영

  • 사용자 플로우와 외부 시퀀스 일치
  • 화면 전환과 서비스 호출 순서 일치
  • 오류 처리 플로우 반영

기술적 고려사항

  • Cache-Aside 패턴: 성능 최적화
  • Circuit Breaker 패턴: KOS 연동 안정성
  • 비동기 처리: 이력 저장 성능 최적화
  • 보안 처리: JWT 토큰 기반 인증/인가

참여자 및 역할

Frontend Layer

  • MVNO Frontend (React SPA): 사용자 인터페이스 제공

Gateway Layer

  • API Gateway: 인증/라우팅, Rate Limiting, Load Balancing

Microservices Layer

  • Auth Service: 인증/인가, 세션 관리, JWT 처리
  • Bill-Inquiry Service: 요금조회 로직, KOS 연동, 캐싱
  • Product-Change Service: 상품변경 로직, 사전체크, KOS 연동

Infrastructure Layer

  • Redis Cache: 세션, 조회결과, 상품정보 캐싱 (Cache-Aside)
  • PostgreSQL: Auth DB, Bill History DB, Product Change DB

External Systems

  • KOS-Order System: 통신사 백엔드 시스템 (Circuit Breaker 적용)
  • MVNO AP Server: 프론트엔드 API 서버

기술 패턴 적용

API Gateway 패턴

  • 단일 진입점: 모든 클라이언트 요청 처리
  • 인증/인가 중앙화: JWT 토큰 검증
  • 서비스별 라우팅: 요청을 적절한 마이크로서비스로 전달

Cache-Aside 패턴

  • 세션 캐싱: 30분 TTL, Auth Service에서 활용
  • 조회결과 캐싱: 1시간 TTL, Bill-Inquiry Service에서 활용
  • 상품정보 캐싱: 24시간 TTL, Product-Change Service에서 활용
  • 성능 향상: DB/외부 시스템 부하 85% 감소

Circuit Breaker 패턴

  • KOS 연동 보호: 외부 시스템 장애 시 서비스 보호
  • 자동 복구: 타임아웃/오류 발생 시 자동 차단 및 복구
  • 안정성 확보: 99.9% 서비스 가용성 목표

통신 방식

동기 통신 (실선 →)

  • 사용자 요청/응답: 즉시 응답이 필요한 모든 처리
  • 서비스 간 호출: API Gateway를 통한 서비스 라우팅
  • 캐시 조회: Redis Cache 조회/저장
  • 외부 시스템 연동: KOS-Order, MVNO AP Server 호출

비동기 통신 (점선 --)

  • 이력 저장: 응답 성능에 영향 없는 백그라운드 처리
  • 로그 처리: 모니터링/감사를 위한 로그 수집

오류 처리 전략

인증/인가 오류

  • 401 Unauthorized: JWT 토큰 만료/유효하지 않음
  • 403 Forbidden: 서비스 접근 권한 없음
  • 계정 잠금: 5회 로그인 실패 시 30분 잠금

외부 연동 오류

  • Circuit Breaker 동작: KOS 시스템 장애 시 차단
  • 타임아웃 처리: 3-5초 내 응답 없을 시 오류 처리
  • 오류 메시지: 사용자 친화적 메시지 제공

시스템 오류

  • 캐시 장애: DB 조회로 폴백
  • DB 장애: 적절한 오류 메시지 반환
  • 서비스 장애: API Gateway에서 헬스체크 및 라우팅 제어

성능 최적화

캐시 전략

  • Cache Hit: 캐시된 데이터로 즉시 응답 (< 50ms)
  • Cache Miss: 원본 조회 후 캐싱 (< 3초)
  • 캐시 적중률: 목표 85% 이상

응답 시간 목표

  • 인증 처리: < 200ms
  • 요금 조회: < 1초 (캐시 히트 시 < 200ms)
  • 상품 변경: < 3초 (KOS 연동 포함)

품질 검증

PlantUML 문법 검사

  • 사용자인증플로우.puml: 문법 검사 통과
  • 요금조회플로우.puml: 문법 검사 통과
  • 상품변경플로우.puml: 문법 검사 통과

설계 품질

  • 유저스토리 매핑: 10개 스토리 100% 반영
  • 논리아키텍처 일치: 모든 참여자 매칭
  • UI/UX 플로우 반영: 8개 화면 플로우 일치
  • 기술 패턴 적용: 3개 클라우드 패턴 완전 적용

팀 검토 결과

김기획(기획자)

"비즈니스 요구사항이 정확히 반영되었고, 사용자 시나리오가 완벽하게 구현되었습니다."

박화면(프론트)

"UI/UX 설계서의 사용자 플로우와 완벽하게 일치하며, 프론트엔드 구현에 필요한 모든 API 호출이 명시되었습니다."

최운영(데옵스)

"인프라 컴포넌트와의 상호작용이 잘 설계되었고, 운영 관점에서 모니터링 포인트가 명확합니다."

정테스트(QA매니저)

"오류 처리와 예외 상황이 체계적으로 설계되어, 테스트 시나리오 작성에 충분한 정보가 제공됩니다."


작성자: 이개발(백엔더)
작성일: 2025-01-08
검토자: 김기획(기획자), 박화면(프론트), 최운영(데옵스), 정테스트(QA매니저)