백엔드 개발자 블로그

서버 증설 없이 대규모 트래픽 처리하기 본문

테크 블로그 리뷰

서버 증설 없이 대규모 트래픽 처리하기

backend-dev 2024. 7. 9. 11:23

토스 기술블로그 글을 참고하여 정래한 글입니다.

 


1. Redis 과부하 문제

1-1 Universal Data 문제

  • Universal Data = 모든 유저가 동일하게 보이는 데이터
  • Local Cache를 사용해서 서버 캐싱 부담 줄여주기
  • Redis Pub/Sub기능을 사용해서 비동기식으로 Local Cahe 빠른 캐시 초기화가 가능  

1-2 User-spcific Data 문제

User-speific Data = 유저별로 다르게 보이는 데이터
데이터를 저장할 때 압축해서 저장하기


2. 동시성 제어

RedLock 분산락으로 동시성 문제 방지

 


3. DB 과부하 방지

3-1 Kafak 비동기처리

3-2 Redis Increment 커맨드

3-3 Redis 캐싱 활용


4. 중복 API 요청

4-1 연속 중복 API 제거

4-2 자주 사용하는 API 묶기


문제 해결 방법

  1. 서버모니터링
  2. 문제점 파악
  3. 해결젝 제안 및 적용
  4. 배포 후 서버 모니터링