본문 바로가기

처리율 제한 장치3

4장 처리율 제한 장치의 설계 (3) 가상 면접 사례로 배우는 대규모 시스템 설계 기초 – System Design Interview 4장 처리율 제한 장치의 설계 4장 처리율 제한 장치의 설계 (1) 4장 처리율 제한 장치의 설계 (2) – 알고리즘 정리 에서 이어지는 글입니다. 3단계 상세 설계 더 생각 해봐야 할 부분들 - 처리율 제한 규칙은 어떻게 만들어지고 어디에 저장되는가? - 처리가 된 요청들은 어떻게 처리되는가? - 분산 환경에서는 어떻게 처리할 것인가? 처리율 제한 규칙 처리율 제한 규칙은 보통 설정 파일 형태로 디스크에 저장된다. 리프트(Lyft, 미국의 승차 공유 서비스기업이다.)는 처리율 제한에 오픈 소스를 사용하고 있다. https://github.com/envoyproxy/ratelimit (Lyft 의 reposi.. 2023. 5. 18.
4장 처리율 제한 장치의 설계 (2) - 알고리즘 정리 처리율 제한 알고리즘 널리 알려진 인기 알고리즘은 다음과 같은 것들이 있다. - 토큰 버킷 (token bucket) - 누출 버킷 (leaky bucket) - 고정 윈도 카운터 (fixed window counter) - 이동 윈도 로그 (sliding window log) - 이동 윈도 카운터 (sliding window counter) 토큰 버킷 알고리즘 보편적으로 사용되는 알고리즘 아마존과 스트라이프가 API 요청을 통제(throttle)하기 위해 사용 동작 원리 토큰 버킷은 지정된 용량을 갖는 컨테이너이다. 이 버킷에는 사전 설정된 양의 토큰이 주기적으로 채워진다. 토큰이 꽉 찬 버킷에는 더 이상의 토큰은 추가되지 않는다. 버킷이 가득 차면 추가로 공급된 토큰은 버려진다. 각 요청은 처리될 때.. 2023. 5. 18.
4장 처리율 제한 장치의 설계 (1) 가상 면접 사례로 배우는 대규모 시스템 설계 기초 – System Design Interview 4장 처리율 제한 장치의 설계 처리율 제한 장치 클라이언트 또는 서비스가 보내는 트래픽의 처리율을 제어하기 위한 장치다. 특정 기간 내에 전송되는 클라이언트의 요청 횟수를 제한한다. 임계치를 넘어서면 추가로 도달한 모든 호출은 처리가 중단된다. 영어로는 Rate Limit. 처리율 제한 장치를 두면 좋은 점 - DOS 공격에 의한 자원 고갈을 방지할 수 있다. - 비용을 절감한다. 서버를 많이 두지 않아도 되고, 우선순위가 높은 다른 API에 더 많은 자원을 할당할 수 있다. - 서버 과부하를 막는다. 봇이나 사용자의 잘못된 이용 패턴으로 유발된 트래픽을 걸러낼 수도 있다. 1단계 문제 이해 및 설계 범위 확.. 2023. 5. 17.