Skip to content

타임존 관련 설정 개선 #3

@thkwag

Description

@thkwag

1. Jackson 타임존 설정 (HIGH)

현재 설정:

# apps/api-server/src/main/resources/application.yml
spring:
  jackson:
    time-zone: Asia/Seoul

현황:

  • 모든 API 응답의 날짜/시간이 Asia/Seoul 기준으로 직렬화됨
  • 해외 사용자는 서울 시간을 받아 프론트엔드에서 변환 필요

선택지:

옵션 장점 단점
Asia/Seoul 유지 변경 없음, 한국 사용자 편의 해외 사용자 혼란 가능
UTC로 변경 국제 표준, 명확함 프론트엔드 변환 로직 필요
설정 제거 (ISO-8601) 오프셋 명시적 표현 응답 문자열 길어짐

  1. Cron Job 타임존 (MEDIUM)

현재 상태:

  • Cron 표현식이 JVM 기본 타임존에서 해석됨
  • 예: "0 0 2 * * ?" → JVM 타임존의 새벽 2시 실행

영향 파일:

  • apps/api-server/src/main/resources/application-prod.yml (세션 정리)
  • apps/scheduler/src/main/resources/application.yml (스케줄 작업)

잠재적 문제:

  • 서버 배포 위치에 따라 동일한 cron이 다른 UTC 시간에 실행
  • 유지보수 윈도우, 빌링 주기, 데이터 집계 타이밍에 영향 가능

선택지:

  1. 배포 문서에 서버 타임존 전제조건 명시
  2. spring.task.scheduling.zone: UTC 설정 추가
  3. 모든 서버가 동일 타임존이면 현재 상태 유지

완료 조건

  • 글로벌 배포 시 Jackson 타임존 전략 결정
  • Cron 작업 타임존 처리 방식 결정
  • 배포 가이드에 타임존 전제조건 문서화
  • 필요시 설정 파일 업데이트

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingenhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions