Moait
홈인기 피드모든 블로그모든 태그
홈인기 피드모든 블로그모든 태그

AOP 기반 Feature Toggle 라이브러리

펫프렌즈 favicon펫프렌즈·Architecture·
Spring BootJavaREST APIFeature Toggle
2025년 12월 03일2

AI 요약

이 글은 AI가 요약했어요. 정확한 내용은 꼭 원문을 확인해 주세요!

핵심 요약

펫프렌즈가 Spring 기반 AOP 기반 Feature Toggle 라이브러리를 도입해, 기능 토글의 활성화 여부에 따라 원본 메서드 실행 여부를 결정하고 필요 시 대체 메서드로 라우팅하는 구조를 구현했습니다.

구현 방법

  • 멀티모듈 구조: internal, mvc, webflux 모듈 구성 및 의존성 최소화
  • 커스텀 어노테이션: @ToggleRouter, @ToggleAlternative 사용
  • ToggleHandler 마커 인터페이스로 AOP 대상 식별
  • ToggleAspect: Around Advice로 토글 상태 확인 및 분기 처리
  • 토글 상태 조회 저장소: ToggleSyncClient 및 WebClient 기반 SyncClient
  • 라우팅 캐시/매핑: ToggleRouteRegistry
  • 자동 구성: ToggleAutoConfiguration, ToggleInitializer를 통한 초기화 및 자동 스캔

주요 결과

  • 외부 저장소에서 토글 상태 조회 및 동적 분기 지원
  • 토글 활성화 시 원본 메서드 실행, 비활성화 시 "Disabled" 반환 또는 대체 메서드 실행
  • 5초 타임아웃 설정을 통한 응답 지연 관리
  • 애플리케이션 시작 시 대체 메서드 레지스트리 자동 구성으로 운영 편의성 향상

연관 피드

%가 높을수록 이 글과 비슷할 가능성이 높아요!
AOP와 MDC로 구현하는 보급형 APM - 인터페이스 이력 관리부터 호출 추적까지 섬네일
68%

AOP와 MDC로 구현하는 보급형 APM - 인터페이스 이력 관리부터 호출 추적까지

롯데ON favicon롯데ON·2025년 03월 05일
Spring Transactional Rollback Deep Dive 섬네일
66%

Spring Transactional Rollback Deep Dive

하이퍼커넥트 favicon하이퍼커넥트·2025년 02월 10일
No Image
66%

Spring boot - 설정파일로 AspectJ PointCut 지정하기

티몬 favicon티몬·2021년 11월 04일