루프팩 백엔드 2기 회고
루퍼스 백엔드 2기 10주 과정 회고. 테스트 설계부터 동시성 제어, 캐시 전략, 이벤트 기반 아키텍처, Spring Batch까지 기술적 성장과 함께 '함께 성장하는 루프'라는 마인드셋 변화를 담았습니다.
루퍼스 백엔드 2기 10주 과정 회고. 테스트 설계부터 동시성 제어, 캐시 전략, 이벤트 기반 아키텍처, Spring Batch까지 기술적 성장과 함께 '함께 성장하는 루프'라는 마인드셋 변화를 담았습니다.
주간/월간 랭킹 집계에서 순위를 저장하려다 chunk 처리의 독립성 문제로 막힌 경험. Spring Batch의 chunk 기반 처리와 MV(Materialized View) 패턴을 활용해 점수만 저장하고 순위는 조회 시점에 계산하는 방식으로 해결한 과정을 담았습니다.
루퍼스 9주차에서 배운 내용과 얻은 인사이트를 정리했습니다.
Redis가 탄생한 배경부터 인메모리, 싱글스레드, I/O 멀티플렉싱까지 핵심 동작 원리를 정리했습니다. 단순히 사용법을 넘어 Redis의 본질을 이해하는 데 집중한 글입니다.
루퍼스 8주차에서 배운 내용과 얻은 인사이트를 정리했습니다.
Kafka 발행 실패해도 복구 가능한 Outbox 패턴과 멱등 Consumer 구현기
루퍼스 7주차에서 배운 내용과 얻은 인사이트를 정리했습니다.
이벤트로 후속 로직을 분리하면서 배운 트레이드오프와 이벤트 테스트 및 AFTER_COMMIT + @Transactional 사용 시행착오 정리하였습니다.
외부 시스템은 언제든 느려지고, 언제든 죽는다. SLO를 기준으로 Timeout과 CircuitBreaker를 설정하고, 장애 전파를 막는 방법을 정리했다.
상품 목록, 상품 상세, 브랜드 조회에 각각 다른 캐시 전략을 적용한 과정. 인덱스 방향 최적화와 캐시를 적용해 p99 1.08s에서 74ms로 93% 개선, RPS 113에서 153으로 35% 향상한 경험을 담았습니다.