
대용량 엑셀 업로드 비동기 파이프라인 구축기
Intro 동기 방식의 엑셀 업로드를 비동기 파이프라인으로 전환하여 API 응답 시간, DB 부하, 메모리 문제를 개선한 과정을 소개합니다. ✅ 결론 비동기 아키텍처 + SAX 파싱 + JDBC Batch INSERT를 도입하여 기존 동기 방식의 핵심 문제들을 개선했습니다. API 응답 시간 ~243초 → 540ms로 개선 (...

Intro 동기 방식의 엑셀 업로드를 비동기 파이프라인으로 전환하여 API 응답 시간, DB 부하, 메모리 문제를 개선한 과정을 소개합니다. ✅ 결론 비동기 아키텍처 + SAX 파싱 + JDBC Batch INSERT를 도입하여 기존 동기 방식의 핵심 문제들을 개선했습니다. API 응답 시간 ~243초 → 540ms로 개선 (...

🎬 Intro Redis + Outbox 패턴을 활용하여 랜덤 지수 백오프 재시도 로직 설계를 소개 합니다. 결론 Redis 메시지 큐와 Outbox 패턴을 도입하여 기존 재시도 메커니즘의 핵심 문제들을 개선했습니다. 재시도 대기 시간 동안 최대 6초 스레드 블로킹을 0초로 개선 랜덤 지수 백오프 방식으로 외...

🎬 Intro 실시간 비동기 이벤트 처리 작업을 동적 스케쥴러 + 배치로 전환하는 과정을 정리해봅니다. 결론 결론부터 말씀드리면 기존 비동기 이벤트로 클러스터링 되던 로직을 동적 스케쥴러 + 배치처리를 통해 성능을 개선하였습니다. 구체적으로 POST 요청 1번당 외부 API 호출 1회 되던 부분을 동적 주기 배치로 최대 100건씩 묶어 처리...

🎬 Intro 외부 API 호출을 트랜잭션 밖으로 분리하는 과정을 다룹니다. 결론 외부 API 호출 로직을 트랜잭션 밖으로 분리하여, 불필요한 DB 커넥션 점유를 제거하였습니다. 현재 상황 AI 클러스터링을 위한 백터 계산 API가 트랜잭션안에서 실행 현재 상황이 왜 문제가 되는가? 벡터 계산 API 호출이 2초 정도 소요되기 ...

🎬 Intro 분산 환경에서 Session 관리를 위한 Spring Session JDBC를 도입하는 과정을 소개합니다. 결론 Spring Session JDBC를 사용하여 분산환경에서 Session 불일치를 해결하고, EC2 추가 인프라 비용 월 약 20% 절감 하였습니다. 현재 상황 단일 서버 환경에서 분산 환경으로 마이그레이션 ...

🎬 Intro Explain 및 Explain Analyze를 통해 인덱스를 설계하는 과정을 소개합니다. 결론 인덱스 설계를 통해 11초 이상 걸리는 병목 쿼리를 0.03초로 개선하였습니다. 문제 상황 RDS CPU 사용률이 갑자기 99%까지 급격하게 치솟는 문제가 발생 피드백을 오래된 순으로 정렬 조회하는 API 호출에서 ...

🎬Intro 엔티티 생명주기와 관리에 대해 알아보기 ✅ 영속 엔티티가 영속성 컨텍스트에 저장된 상태 영속이 되는 시점 비영속 엔티티를 EntityManager로 persist 준영속 OR 비영속 엔티티를 EntityManage로 merge EntityManager로 find/JPQL 조회 ✅ 준영속 엔티티가 영속성 컨...

🎬 Intro item2-생성자에 매개변수가 많다면 빌더를 고려하라 🎯 패턴 종류 ✅ 점층적 생성자 패턴(telescoping constructor pattern) 매개변수를 전부 다 받는 생성자까지 늘려가는 방식 public class NutritionFacts { private final int servingSize; pri...

🎬 Intro item1-생성자 대신 정적 팩터리 메서드를 고려하라 클래스는 인스턴스 반환을 위해 public 생성자 대신 정적 팩터리 메서드를 제공할 수 있다. 이 방식에는 장점과 단점이 모두 존재한다. 🎯 정적 팩터리 메서드 장점 ✅ 이름을 가질 수 있다 생성자 자체만으로는 반환될 객체의 특성을 제대로 설명하지 못한다. 반면 정적 팩터리...

🎬 Intro 우테코 프리코스 4주차 회고를 적어봅니다~ 📚 프리코스의 기록 ✅ 프리코스를 즐길 수 있었던 이유 나는 어떤 일을 할 때마다 그 속에서 즐거움을 찾을려고 노력한다. 입시 준비를 했을때는 샤프 필기감에 빠져서 20 가지가 넘는 샤프를 써보기도 하고, 어느날은 포스트잇을 붙이는거에 재미가 들려 독서실 벽, 화장실 벽 심지어 ...