클라우드 아키텍처 - 서비스 흐름도

이관호·2025년 6월 10일
0

1️⃣ 서비스 Flow 및 처리과정 설계

✅ Flow 의 세 가지 유형

Flow 유형설명관련 요소 예시
서비스 Flow사용자와의 상호작용 흐름로그인, 검색, 예약 등
데이터 Flow데이터의 이동 및 처리 흐름DB조회, API 호출, 파일 저장 등
프로세스 Flow처리 로직의 절차적 흐름인증 → 비즈니스 로직 → 응답

🔹서비스 Flow : 사용자의 요청이 클라우드 상의 다양한 컴퓨팅 자원을 거쳐 처리된 뒤 응답되는 전체 경로를 의미
사용자 중심의 요청 → 처리 → 응답 구조
🔹데이터 Flow : 서비스 내부에서 데이터가 어떻게 이동하고 처리되는지 보여주는 흐름
데이터 흐름 설계의 핵심: CRUD 기반
🔹프로세스 Flow : 서비스 내에서 사용자 요청을 처리하기 위한 단계별 처리 절차


2️⃣ 데이터 흐름

✅ Rest API

  • 클라이언트와 서버 간 HTTP 기반 통신을 위한 인터페이스
  • 리소스(데이터)에 접근하기 위한 규칙을 명확히 정의

CRUD 방식과 HTTP 메서드

HTTP 메서드동작설명
GETRead리소스 조회
POSTCreate리소스 생성
PUTUpdate리소스 전체 수정
DELETEDelete리소스 삭제

Rest API 의 장점과 단점

항목장점단점
구조단순하고 학습이 쉬움복잡한 트랜잭션 구현 어려움
표준성HTTP 기반으로 다양한 시스템과 호환HTTP 외 다른 프로토콜과는 호환성 낮음
유지보수클라이언트/서버 분리로 확장성, 유지보수 유리URI가 많아지면 관리 어려움
속도캐시로 성능 향상 가능대용량 데이터 시 트래픽 과부하 가능
보안토큰, OAuth 등 인증 기능 활용 가능별도 설정 없으면 정보 노출 위험
범용성모바일/웹/서버 등과 잘 호환됨실시간 양방향 통신에는 부적합 (웹소켓 필요)

✅ 메시지 미들웨어

  • 애플리케이션 사이에서 데이터를 중개하는 소프트웨어
  • REST API는 동기식이지만, 메시지 미들웨어는 주로 비동기식
  • 대용량 처리 또는 실시간 통신 필요 시 적합 (예: 채팅 서버, IoT)

주요 유형

  • RPC (Remote Procedure Call): 원격지 함수 호출, 소켓통신 방식
  • ORB (Object Request Broker): 객체 기반 공유
  • MOM (Message Oriented Middleware): 메시지 기반 통신, MQ 시스템

Message Queue 의 장점

항목설명
비동기성요청 후 기다리지 않고 처리 가능
비동조성시스템 간 강한 연결 없이 작동
탄력성일부 장애 발생 시에도 전체 중단 방지
과잉 허용성실패 시 재처리 가능
보증성메시지의 처리 상태 추적 가능
확장성다수의 생산자/소비자 구조 확장 쉬움

3️⃣ 서비스 흐름도

  • 사용자 요청이 어떤 순서와 흐름으로 전달•처리•응답되는지를 시각화
  • 구성 요소 간의 데이터 흐름과 처리 단계를 중심으로 표현
  • 서비스 단위의 책임 구분 & 요청이 어디에서 시작되어 어떻게 처리되는지를 이해하기 위한 설계 도구

✅ 주요 구성 요소

구성요소역할 설명
User (사용자)서비스를 사용하는 최종 사용자
Frontend사용자와 직접 상호작용하는 UI (웹, 앱 등)
Backend클라이언트 요청을 처리하는 서버 영역
Application Logic핵심 기능 수행 (예: 예약 처리, 계산, 인증 등)
Database (DB)데이터를 저장하고 조회
External API외부 서비스와의 연동 (예: 결제, 문자 인증 등)

✅ 서비스 흐름도의 목적과 역할

항목설명
요청 경로 명확화요청이 어디서 시작되어 어디로 전달되는지 흐름을 정확하게 그림
역할 분리UI, 처리 로직, 데이터 저장을 분리해서 설계함으로써 유지보수 용이
보안 고려민감 데이터가 이동하는 구간에 대한 보안 설계 필요
확장 고려향후 사용자 증가, API 연동 증가 등을 염두에 둔 구조화

4️⃣ 서비스 흐름도 설계

  1. 목표 정의: 시스템이 달성해야 하는 핵심 목표를 명확히 설정
  2. 사용자 시나리오 작성: 각 사용자가 시스템을 이용하는 과정을 시간 흐름에 따라 구체적으로 작성
  3. 기능 목록 도출: 시나리오 기반으로 필요한 핵심 기능과 부가 기능 목록화
  4. 서비스 그룹핑: 유사 기능들을 묶어 도메인별 서비스 블록으로 정리
  5. 데이터 흐름 설계: 기능 간 데이터 전달 경로, 처리 순서, API 호출 등을 정의
  6. 최종 흐름도 작성: 사용자 → 시스템 → 외부 시스템 간 서비스 전체 흐름도 시각화

✅ 도서관 예약 시스템 서비스 흐름도

profile
IT병아리

0개의 댓글