올
올리브영
August 31, 20231회
Circuitbreaker를 사용한 장애 전파 방지

간단 소개
올리브영은 Resilience4j의 CircuitBreaker를 도입하여 서비스 장애 전파를 방지하고, 시스템 안정성을 향상시켰습니다.
AI Summary
- CircuitBreaker의 개념 및 중요성
- CircuitBreaker는 서비스 간 장애 전파를 막는 중요한 역할을 수행하며, 시스템의 안정성을 높입니다.
- 정상(Closed), 장애(Open), 판단 중(Half Open) 세 가지 상태를 가지며, 상태 변화를 통해 장애를 감지하고 복구를 지원합니다.
- Resilience4j 라이브러리 소개 및 올리브영 적용 사례
- Resilience4j는 Java 기반의 경량 Fault Tolerance 라이브러리로, Netflix Hystrix의 대안으로 사용됩니다.
- 올리브영은 Redis 장애 시 RDB로 Failover 처리하여 사용자 대기 시간을 줄이기 위해 CircuitBreaker와 Retry를 적용했습니다.
- AOP 기반으로 동작하며, annotation을 통해 간편하게 설정하고 테스트 코드를 통해 동작을 검증했습니다.
- CircuitBreaker 설정 및 모니터링
application.yml파일을 통해 실패율, 느린 호출 임계값, 재시도 횟수 등 다양한 속성을 설정할 수 있습니다.- Actuator를 통해 CircuitBreaker의 상태를 확인하고, Datadog을 사용하여 서비스 모니터링을 수행합니다.
- Retry 적용 시 CircuitBreaker 실패율에 미치는 영향을 고려하여 설정해야 합니다.
Next Feeds
온라인몰 성능개선을 위한 FE 개발자의 고민 part-1
올리브영 온라인몰 FE 개발자가 Infinite Scroll을 통해 브라우저 렌더링을 최적화하고 성능을 개선한 경험을 공유합니다.
Infinite Scroll렌더링 최적화브라우저 렌더링ReflowRepaint
2023. 8. 30.
올리브영
우리 애자일 해볼까? (with 라이브스쿼드)
올리브영 라이브 스쿼드의 애자일 기반 협업 방식과 라이브관 구축 과정, 그리고 향후 발전 방향을 소개합니다.
애자일라이브커머스프론트엔드협업사용자 경험
2023. 8. 30.
올리브영

카카오뱅크 iOS 플랫폼의 모듈화, 왜 필요했을까요?
카카오뱅크 iOS 플랫폼은 코드 증가와 빌드 시간 문제 해결을 위해 모듈화를 도입, 생산성 향상을 꾀했습니다.
모듈화iOS카카오뱅크빌드시간RIBs
2023. 8. 30.
카카오뱅크
다나와의 상품 데이터 여정
다나와의 상품 데이터 흐름(수집, 분류, 관리, 검색)과 각 서비스의 역할, 데이터 활용 방안을 소개합니다.
상품 데이터수집기분류기오피스검색
2023. 8. 30.
다나와
실무에서 적용하는 테스트 코드 작성 방법과 노하우 Part 2: 테스트 코드로부터 피드백 받기
테스트 코드로부터 피드백을 받아 코드 품질을 개선하고, 책임 분리를 통해 유연하고 테스트하기 쉬운 구조를 만드는 방법에 대한 실무 사례 분석.
테스트 코드책임 분리Mock Server외부 의존성리팩토링
2023. 8. 28.
카카오페이

컬리로그팀이 직접 고객을 만나고 리서치를 진행한 이야기: 컬리 푸드 페스타에서
컬리로그팀이 컬리 푸드 페스타에서 고객 리서치를 통해 얻은 인사이트와 고객 중심 프로덕트 개발의 중요성을 강조합니다.
컬리로그고객 리서치컬리 푸드 페스타사용자 경험프로덕트 개발
2023. 8. 27.
컬리