목록 보기
Redirect 서버 리팩토링 - 파일럿 프로젝트
백엔드

Redirect 서버 리팩토링 - 파일럿 프로젝트

ZUM
ZUM
2023년 2월 14일

두줄요약

레거시 Redirect 서버를 Spring Boot 기반으로 리팩토링해 클릭 요청, 캐시, 로그 구조를 개선했습니다. 푸시 연동과 Short URL 처리까지 통합해 확장 가능한 형태로 설계했습니다.

문제 상황

  • 레거시 Redirect 서버의 Spring 3, Java 6 기반 구조로 인한 리팩토링 필요성
  • 클릭 요청의 로그가 성공/실패만 구분되어 METHOD 카테고리별 분석과 확장에 한계
  • 캐시와 비동기 처리 로직의 오동작, 푸시 연동과 Short URL 처리 요구 추가

구조와 흐름

  • Spring Boot, Gradle, JPA, Querydsl, EhCache, Logback 기반으로 재설계
  • 클릭 요청 시 Cache 또는 DB에서 RedirectUrl 조회 후 로그 적재와 리다이렉트 수행
  • 로그는 MDC와 SiftingAppender로 METHOD 카테고리별 파일 분리

해결 방법

  • Spring Cache로 전환하면서 key 문자열 형식까지 맞춰 캐시 조회 문제 수정
  • EhCacheManagerFactoryBean의 shared 설정으로 테스트 환경의 중복 CacheManager 문제 해결
  • logPattern을 설정 파일로 분리해 METHOD별 포맷과 변수 개수 조정 가능하게 구성
  • push API 연동과 nginx rewrite로 푸시 링크, Short URL 요청을 redirect 서버로 통합

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...