
웹 애플리케이션을 개발하다 보면 하나의 HTTP 요청 내에서 동일한 외부 API를 여러 번 호출하거나 동일한 연산을 반복하는 경우가 종종 발생합니다. 이러한 중복 호출은 응답 시간을 증가시키고 불필요한 네트워크 오버헤드를 유발합니다. 이 글에서는 이러한 문제를 해결하기 위해 개발한 @RequestCache라는 커스텀 애너테이션의 개발 과정과 그 과정...

네이버페이 차세대 아키텍처 개편을 위한 Plasma 프로젝트가 7년의 기간 끝에 2025년 7월부로 공식 종료를 선언했습니다. 이 글에서는 Plasma 프로젝트의 최종장인 DB CDC 복제 도구 ergate 프로젝트의 개발 및 전환 경험을 공유하고자 합니다. ergate 프로젝트 소개 ergate 프로젝트는 네이버페이 주문에서 DB 간 복제를...

0. 프로젝트 환경 Spring Boot 3.3.7 Spring Data Redis 3.3.7 Lettuce 6.3.2 ㅤ 1. 개요 운영 환경에서 캐시를 다루다 보면 한 번쯤은 @CacheEvict(allEntries = true) 설정을 써볼까 고민하게 됩니다. 테스트에서 잘 동작하던 코드가, 서비스에서는 지연이나 장애로 이어지는 경우가 간혹 발생합니다...

개발자들에게 익숙해진 불편함을 해결하기 위한 사내의 Swagger MCP 서버를 구축한 이야기를 들려드립니다....

안녕하세요. Azar API Dev Team의 Ledger입니다. 이번 글에서는 Spring Transactional 동작에서 Checked Exception과 Unchecked Exception의 롤백(rollback) 처리에 관한 내용을 다뤄보겠습니다. 여러 사례를 통해 예외 처리 코드를 작성해 보고, 자주 혼동되는 부분들을 정리해 보았습니다. 그래서 ...

자바 모듈 시스템의 변화로 인한 직렬화 문제를 분석하면서 알게된 내용을 공유합니다....

Spring Kafka 활용한 오프셋 이동 및 메시지 재처리 방법...

안녕하세요. Azar API Dev Team의 Ledger 입니다. 아자르는 유럽, 아시아, 중동 등 다양한 지역에서 사랑받고 있는 글로벌 서비스 입니다. 글로벌 서비스를 운영하기 위해서는 고려해야 할 것이 많은데 그 중 유저 데이터의 라이프 사이클에 대해 다뤄보려 합니다. 유저의 프라이버시를 위해 유저가 탈퇴하거나 오랜 시간 접속하지 않는다면 유저의 데이...

어노테이션 기반으로 분산락을 사용하는 방법에 대해 소개합니다....

'추석맞이 선물하기 재개발'에 차출되어 API 문서화를 위해 도입한 Spring REST Docs 를 소개합니다....

Custom Annotation 과 Spring Reflection Util 활용기...

Spring 에서 @Async 를 이용한 동시다발적인 Hibernate DB 작업...