모든 블로그
올리브영

올리브영

주요 카테고리 백엔드 · 프론트엔드

활동 요약

대표 인기 포스트개발자가 알면 좋은 Redis 꿀팁 모음622 조회
최근 30일
2개
평균 조회
89
누적 조회
19,202
전체 글
215개
마지막 발행
2026. 10. 29.
블로그 방문

올리브영 기술 블로그 글 (72)

백엔드

고성능 캐시 아키텍처 설계 - 로컬 캐시와 Redis로 대규모 증정 행사 관리 최적화

증정 행사 조회 트래픽 급증 문제를 해결하기 위해 RDS, ElastiCache, 로컬 캐시를 결합한 다중 레이어 캐시를 적용했습니다. 그 결과 TPS는 크게 증가하고 Redis 네트워크 송신량은 대폭 감소했습니다.

#cache#Redis#ElastiCache
6900

백엔드

Java를 주로 다루는 개발자가 생각하는 Kotlin 장점

Java 개발자가 Kotlin을 사용하며 느낀 문법적 장점을 정리한 글입니다. null 안전성, data class, 기본 인자, 확장함수 같은 편의 기능을 소개했습니다.

#Kotlin#Java#null
5200

백엔드

올리브영 온라인몰 정산개편 이야기

정산 데이터를 프로세스별로 가공해 적재하던 구조를 원천 데이터 기반 정산 구조로 개편했습니다. 보정 작업이 사라지고 마감과 운영 효율이 크게 개선되었습니다.

#BigDecimal#데이터 분석#정산
7300

백엔드

올리브영은 왜 선물하기를 개편했을까? Part - 1

올리브영 선물하기관은 DB 의존과 배치 지연으로 성능과 신뢰성 문제가 있었습니다. 전시 전략 통합과 AOP·리플렉션 기반 개선으로 빠르고 정확한 서비스로 개편했습니다.

#Spring Boot#Redis#DB
3200

백엔드

재고의 변동을 시계열 데이터로?!

Redis Stream으로 재고 변동 이력을 시계열 데이터로 쌓아 조회 비효율을 줄인 사례를 소개했습니다. 날짜 단위 키와 범위 분할 조회로 순서 보장과 성능을 함께 고려했습니다.

#Redis#시계열 데이터#Kotlin
6800

백엔드

Debezium MSK Connect로 Failover 구현하여 서비스 안정성 높이기

Debezium MSK Connect 장애 대응을 위해 Heartbeat 모니터링과 Failover 복구 흐름을 구성했습니다. 신규 Connector 재생성, op 변환, AOP 공통화로 데이터 연속성과 안정성을 높였습니다.

#Debezium#MSK#Kafka
4700

백엔드

그날, 우리의 배치는 왜 멈추었을까?

Spring Batch 배치가 멈춘 원인을 트랜잭션 분리 실패와 스레드 풀 정책에서 찾았습니다. `CallerRunsPolicy`와 `@Transactional` 누락이 겹치며 경합이 발생했고, 설정 개선이 필요했습니다.

#Spring Batch#transaction#동시성
6900

백엔드

커스텀 어노테이션과 리플렉션으로 구현한 Spring Boot 웜업 로직 최적화

Spring Boot 시작 시 발생하는 콜드 스타트 지연을 줄이기 위해 웜업 로직을 개선했습니다. 커스텀 어노테이션과 리플렉션, 비동기 실행으로 초기 응답 속도와 운영 효율을 높였습니다.

#Spring Boot#Redis#리플렉션
5800

백엔드

올리브영 물류시스템에서는 데이터를 어떻게 주고 받을까?

올리브영은 온라인몰과 물류센터 간 연계 방식을 EAI에서 MQ로 바꾸어 실시간성과 처리 성능을 높였습니다. 다만 큐 기반 구조라 조회와 검색에는 제약이 있다는 점도 함께 짚었습니다.

#MQ#EAI#API
5300

백엔드

Kafka 메시지 중복 및 유실 케이스별 해결 방법

Kafka 메시지 중복과 유실을 Producer, Consumer, MSK 운영 구간별로 나누어 해결 방법을 정리했습니다. AWS MSK 환경에서 설정과 운영 포인트를 함께 점검할 수 있는 글입니다.

#Kafka#AWS#MSK
7900

백엔드

올리브영 셔터 이미지 업로드 성능 개선기

고화질 이미지 다장 업로드의 지연과 서버 부하를 줄이기 위해 병렬 업로드, PreSignedURL, 이미지 압축을 적용했습니다. 업로드 진행 상태 UI까지 개선해 평균 50% 이상 성능을 향상했습니다.

#AWS#S3#cache
4200

백엔드

올리브영 결제 이야기 Part - 4

올영 세일 기간의 주문·결제 안정성을 위해 모니터링과 알림, 배치 검증 체계를 운영한 사례입니다. 세일 이후 회고로 반복 오류를 줄이고 고객 경험 개선을 이어갔습니다.

#Datadog#Slack#batch
3800

백엔드

상품 설명 영역 개선기 Part.2

외부 솔루션에 의존하던 HTML 상품 설명 영역을 내재화해 PC와 모바일 모두 빠르게 제공하도록 개선했습니다. 또한 이미지 검증과 비동기 가공 파이프라인을 구축해 운영 안정성과 유지보수성을 높였습니다.

#Kotlin#Redis#S3
4500

백엔드

올리브영 POS 서버 Modernization

올리브영 POS 서버를 레거시 IDC 환경에서 Spring Boot와 AWS 기반으로 현대화한 사례를 다뤘습니다. Bridge 방식과 성능 테스트로 위험을 줄이며 점진적으로 이관했습니다.

#Spring Boot#AWS#ECS
3400

백엔드

상품 설명 영역 개선기 Part.1

상세 기술서 이미지 타입의 NAS 기반 구조를 공통 API와 AWS S3, 코루틴 비동기 처리로 개선한 내용을 정리했습니다. 유지 보수성과 확장성을 높이고 webp 변환으로 제공 속도도 개선했습니다.

#AWS S3#비동기#코루틴
3400

백엔드

TestFixture를 쉽게 생성해 주는 라이브러리가 있다?

기존 Fixture 생성 방식의 한계와 문제점을 정리하고, FixtureMonkey로 이를 개선하는 방법을 소개했습니다. 다양한 객체 생성 방식을 FailoverIntrospector로 묶어 재사용성과 테스트 편의성을 높이는 내용입니다.

#FixtureMonkey#test#Java
3400

백엔드

파트너오피스 리뉴얼, 왜 우리는 리팩터링을 하였는가?

파트너오피스 리뉴얼 과정에서 가독성 저하, 공용 구조, 미사용 코드 등을 정리하며 리팩터링을 진행했습니다. 그 결과 코드 라인 감소와 함께 서비스 이해도, 유지보수성이 함께 개선되었습니다.

#refactoring#Spring Boot#Java
8700

백엔드

확장할 수 있는 데이터 추출 서비스 구축 경험 공유

엑셀 데이터 추출 기능이 느려지고 서버 부하가 커지는 문제를 개선한 경험을 공유했습니다. 비동기 이벤트와 Spring Batch Partitioning으로 처리 분리와 재다운로드 구조를 구성했습니다.

#Spring Batch#Kafka#S3
3800