본문으로 건너뛰기

실무 가이드

작업 유형 분류

기능을 만들 때 먼저 작업 유형을 분류합니다.

  • 조회 중심: 빠른 응답과 캐시 고려
  • 저장 중심: 트랜잭션과 중복 요청 방지 고려
  • 파일 중심: 파일 크기, 저장소, 바이러스 검사, 권한 고려
  • 외부 연동: 지연, 재시도, 실패 로그 고려
  • 배치/관리: 사용자 요청과 분리 실행 고려

이 분류에 따라 동시 실행 허용 여부와 장애 처리 방식이 달라집니다.

중복 실행 방지

동시에 실행되면 안 되는 작업은 다음 기준을 둡니다.

  • 요청 ID 또는 거래 ID로 중복 요청을 차단합니다.
  • 파일 생성 작업은 임시 파일과 원자적 교체를 사용합니다.
  • 관리작업은 작업 로그와 실행 잠금을 남깁니다.
  • 스케줄 작업은 여러 인스턴스에서 동시에 실행되지 않도록 합니다.

성능 확인

동시성 문제는 보통 개발 PC에서 잘 드러나지 않습니다. 검증 환경에서 다음을 확인합니다.

  • 동시에 같은 저장 기능을 호출했을 때 데이터가 깨지지 않는가?
  • 장시간 작업 중 웹 요청 응답이 막히지 않는가?
  • 외부 API가 느릴 때 전체 거래가 무한 대기하지 않는가?
  • 파일 복사나 번들링 중 서비스 파일 잠김이 발생하지 않는가?

체크리스트

  • 오래 걸리는 작업이 웹 요청을 불필요하게 붙잡고 있지 않은가?
  • 중복 실행되면 안 되는 작업에 방지 장치가 있는가?
  • 다중 인스턴스 운영 시 공유 저장소와 세션 기준이 있는가?
  • 로그로 동시 실행 상황을 추적할 수 있는가?
  • 배치와 사용자 요청의 장애 영향 범위가 분리되어 있는가?