컬
컬리
March 4, 20201회
DevOps 엔지니어의 Redis Test 분투기 - Part 1

간단 소개
Redis 도입 후 발생한 장애 원인 분석 및 성능 테스트를 통해 Redis 사용 시 고려사항과 개선 방향을 제시합니다.
AI Summary
- Redis 테스트 배경 및 목표
- MSA 전환 중 Redis 도입 후 장애 발생, Look-Aside-Caching 방식 사용 중 key 값 미적재 문제 발생
- Redis 규격 및 사이징 모델 부재로 성능 테스트를 통한 표준 사이징 필요
- 테스트 환경 및 방법
- AWS Elasticache(redis-benchmark 사용 불가) 환경에서 Node.js, Express 기반 API를 이용한 테스트 환경 구축
- nGrinder를 이용해 부하 테스트 진행, Redis Strings를 호출하는 get/set 함수 및 Controller 작성
- 테스트 결과 및 결론
- 다수 사용자의 동시 요청 시 특정 key 값에 대한 빈번한 변경 시도 시 에러 발생 및 TPS 저하 확인
- Redis 사용 시 데이터 Collection 선택의 중요성 강조, file Cache 사용 또는 Collection 최적화 고려
- Redis 미작동 시 DB 부하 집중 문제에 대한 대비책 마련 필요
Next Feeds

Database Driven Development에서 진짜 DDD로의 선회 -1-
Database Driven Development에서 DDD로 전환하며 겪은 오해와 깨달음, 그리고 실천 과정에서의 경험을 공유합니다.
DDD도메인 주도 설계이벤트 스토밍몹 프로그래밍클린 코드
2020. 3. 1.
컬리

하루에 1000번 배포하는 조직 되기
뱅크샐러드는 배포 프로세스 개선을 통해 배포 횟수를 4배 증가시키고, 개발자들이 배포를 두려워하지 않는 문화를 구축했습니다.
배포CI/CDGitHub ActionsMSAChatOps
2020. 2. 29.
뱅크샐러드

프로덕션 환경에서 사용하는 golang과 gRPC
뱅크샐러드의 gRPC 도입 및 활용 경험 공유: protobuf 기반 API 관리, 기존 서비스 호환성 확보, 옵저버빌리티 구축 노하우.
gRPCGolangProtobuf마이크로서비스Observability
2020. 2. 27.
뱅크샐러드

잘못 작성된 람다 코드를 삭제하기까지의 여정
가독성이 떨어지는 람다 코드를 리팩토링하여 가독성을 높이고 유지보수성을 개선한 경험 공유.
람다식리팩토링가독성Optional레거시 코드
2020. 2. 26.
컬리

폐쇄망 환경의 배포 시스템 개발기
뱅크샐러드가 폐쇄망 환경에서 안정적인 서비스 운영을 위해 자체 배포 시스템 'Alice'를 개발한 과정과 기술적 고민을 담고 있습니다.
폐쇄망배포 시스템DockerCanary 배포drone.io
2020. 2. 25.
뱅크샐러드

BDD로 테스트에 중독되어 보자
컬리 기술팀이 BDD를 도입하여 적립금 만료일 계산기 기능을 구현하고, BDD의 장점을 경험하며 지속적인 실험을 계획하는 과정을 소개한다.
BDD테스트컬리페어 프로그래밍몹 프로그래밍
2020. 2. 23.
컬리