Performance Metrics
4,000+ USER
READ COMMITTED 락 최적화
4,000명 동시접속 스파이크 제어
Idempotency
S3 선적재 및 멱등키 비동기 검증
DB 플래그 스케줄러 재전송 보장
Native Java
지오펜스 Ray-Casting 모듈
GPS 벡터 알고리즘 직접 구현
PRODUCTION OPTIMIZATION CASE STUDY
CASE 01 // TRANSACTION LOCK & BATCH PROCESSING OPTIMIZATION
[이슈] 시간 범위 기간 조건(Range Query) 조회/갱신이 집중되는 상황에서, MariaDB 기본 격리 수준(REPEATABLE READ)에 따른 광범위한 넥스트 키 락/갭 락이 발생하여 4,000 유저 동시접속 시 대량 데드락 및 병목 초래.
[해결] 트랜잭션 격리 수준을 READ COMMITTED로 조정하여 불필요한 범위 락 점유를 차단. 또한 AWS m4.large 자원 제약 하에서 안정성을 확보하도록 대량 배치를 5,000개 Chunk 단위로 세분화하여 분할 처리하도록 튜닝. 이를 통해 스파이크 트래픽을 다운 없이 수용하며 데드락 0.0% 실현.
CASE 02 // RELIABLE ASYNCHRONOUS API & COMPONENT NATIVE
[API 송신] DB 내 전송 상태 플래그값을 기반으로 스케줄러를 가동, 전송이 완료되지 않은 미처리 건을 자동 탐지하여 확실하게 재전송하는 Reliable Outbound 보장.
[API 수신] 수신 데이터는 밸리데이션 전 즉각 AWS S3에 백업 적재하고 우선 클라이언트에게 성공(ACK) 응답을 즉시 반환하여 응답 Latency 단축. 이후 백그라운드에서 컨테이너별 멱등성 키(Idempotency Key)를 검증하여 오류가 발견된 건만 선택적 추가 재요청을 수신측에 반환하는 비동기식 멱등 아키텍처 구축.
[알고리즘] 외부 GIS 엔진 및 외부 API 호출 비용을 차단하고 런타임 연산 속도를 극대화하기 위해, 폴리곤 내부 영역을 판정하는 Ray-Casting 지오펜스 알고리즘과 GPS 방향 벡터 연산 모듈을 순수 Java 네이티브 코드로 직접 설계 및 내재화.