책/가상 면접 사례로 배우는 대규모 시스템 설계 기초
-
[가상면접 사례로 배우는 대규모 시스템 설계기초] 처리율 제한 장치책/가상 면접 사례로 배우는 대규모 시스템 설계 기초 2025. 4. 2. 10:45
이게 뭔데 필요할까?1. DOS 공격과 같은 Denial Of Service 라고 외부에서 엄청 많이 요청해서 자원을 고갈시키는 공격을 방지할 수 있는 수단이다.2. 서드파티의 API (지도 API 등) 를 이용할 경우 사용료를 제한할 수 있다.3. 봇 같은 불필요한 트래픽을 줄여서 서버 부하를 줄일 수 있다. 이 처리율 제한 장치는 어떻게 구축되어 사용될까?클라이언트쪽에 구축하거나 미들웨어에 구축하거나 서버쪽에 구축할 수 있다.이 위치는 기술 스택이나 도메인에 따라 변경될 수 있다.처리율 제한 서비스를 직접 만드는 것은 어렵기 때문에 인력이 충분하지 않다면 상용 서비스를 쓰는 것이 바람직하다. 처리율 제한 장치는 어떻게 동작하는가? 5가지 알고리즘을 도메인 상황에 맞게 적용한다고 한다.1. 토큰 버킷2..
-
[가상면접 사례로 배우는 대규모 시스템 설계기초] 개략적인 규모 측정과 시스템 설계 면접 공략법책/가상 면접 사례로 배우는 대규모 시스템 설계 기초 2025. 3. 11. 09:14
개략적인 규모 추정이란?어떤 설계가 요구사항에 부합하는지 알아보기 위해 성능 수치상에서 사고실험을 해서 추정치를 계산하는 행위이다.데이터를 측정하는 단위?2의 제곱수인 바이트단위로 측정한다.응답 지연 값당연한 이야기겠지만 디스크 조회보다 메모리에서 조회하는 것이 빠르니 디스크 조회는 피하자.단순한 압축 알고리즘은 빠르니 데이터를 인터넷으로 전송하기 전에 압축하자.데이터는 일반적으로 분산되어 있고 센터간 데이터 주고받는데 시간이 걸린다.가용성고가용성이란? 시스템이 오랜 시간동안 중단 없이 운영될 수 있는 능력이다.SLA 은 서비스 사업자와 고객 사이에 맺어진 합의를 의미한다.큰 사업자들은 99%이상의 SLA 를 제공하는데 표를 보니99%도 연간 장애 시간으로 하니 크게 보인다! QPSquery per se..
-
[가상면접 사례롤 배우는 대규모 시스템 설계기초] 키-값 저장소 설계책/가상 면접 사례로 배우는 대규모 시스템 설계 기초 2025. 1. 12. 00:36
키-값 저장소는 비관계형 데이터베이스이다. 여기서 비관계형 데이터베이스라는 것은관계형과 다르게 스키마 없는 데이터를 관리하는 여러 종류의 데이터베이스들을 가리킨다. 이번에 정리할 키-값 저장소에 저장되는 값은고유 식별자를 키로 가져야 한다. 여기서 키는 일반 텍스트일 수도 있고 해시값일 수도 있다고 한다.보통 값은 무엇이 오든 상관 안한다고 하는데 문자열이나 리스트, 객체일 수 있다고 한다. 종류는 아마존의 다이나모, 레디스 같은 것들이 있다. 설계대규모 시스템에서 단일 시스템으로 키-값 저장소를 운영하는 것은 안좋다.가용성과 일관성 그리고 파티션 감내 모두를 잃는 것이다. CAP 정리cap는 일관성(consistency) 가용성(availability) 파티션 감내(partition tolerance)..