본문으로 바로가기

임시

category 대규모 시스템 설계 2023. 10. 26. 22:35
728x90
반응형
SMALL

4장.처리율제한장치설계

사례

- 사용자는 초당 2회 이상 새 글을 올릴 수 없다.
- 같은 IP 주소로 하루에 10개 이상의 계정을 생성할 수   없다.
- 같은 디바이스로 똑같은 글에 추천을 할 수 없다
처리율 제한 장치를 적용한다면
  • DoS에 의한 자원 고갈 방지
  • 서버를 많이 두지 않아도 되며, 우선순위가 높은 API에 자원 할당이 더 자유로워 질수 있으므로 비용절감
  • 서버 과부화 방지
처리율 제한 장치의 위치선정
처리율 제한 알고리즘
  • 토큰 버킷

장점

  • 구현이 쉽다
  • 메모리 사용 측면에서 효율적
  • 짧은 시간에 집중되는 트래픽 처리 가능, 버킷에 남아있는 토큰이 있기만 하면 요청은 시스템에 전달된다.

단점

  • 버킷 크기와 토큰 공급률을 적절히 튜닝하는 것이 엄청 까다로울것이다.
  • 누출 버킷

  • 고정 윈도 카운터

  • 이동 윈도 로그

  • 이동 윈도 카운
    카프카의 로그를 유지?
    001 기준 40초 4천개

1초 150개 10초 1500개 1분 1만개 10분 10만개 1시간 20만

CWP 카프렉 통신전자과 통하네

5장.안정해설

해시 키 재배치 문제

서버들에 부하를 균등하게 나누는 보편적인 방법

ServerIndex = hash(key) % N(서버개수)
  • 이 방법은 서버 풀 크기가 고정되어 있고, 데이터 분포가 균동할 때는 잘 동작한다.
  • 서버가 추가되거나 기존 서버가 삭제되는 경우 N의 개수가 변경되어 데이터의 분배가 한쪽으로만 치우질수 있는 문제가 발생한다.

안정 해시

정의
  • 해시 키 재배치 문제를 효과적으로 해결할 수 있는 기술.
  • 안정 해시는 해시 테이블의 크기가 조정될 때 평균적으로 오직 K(키의개수)/N(슬롯개수)개의 키만 재배치하는 해시 기술
  • 전통적 해시 테이블은 슬롯의 수가 변경되면 대부분의 키를 재배치

6장.키값 저장소 설계

단일 서버 키-값 저장소

  • 가장쉬움
  • 가장 직관적인 방법은 키-값 쌍 전부를 메모리에 해시 테이블로 저장하는것
  • 빠른속도를 보장하지만 메모리의 제한 때문에 모든 데이터를 메모리에 저장하는것이 불가능 할 수도 있는 단점 존재
  • 개선점은 데이터의 압축, 자주 사용되는 데이터만 메모리나머지는 디스크에 저장

    ### 분산 키-값 저장소
  • 분산 해시 테이블 이라고도 불린다.
  • 분산 시스템 설계시 CAP 정리를 필수로 이해해야 한다.
CAP 정리

데이터 일관성(Consistency), 가용성(Availability), 파티션 감내(Partition tolerance) 3가지의 요구사항을 동시에 만족하는 분산 시스템을 설계하는것은 불가능 하다는 정리

  • 데이터 일관성(C)
    • 분산 시스템에 접속하는 모든 클라이언트는 어떤 노드에 접속하든 관계없이 언제나 같은 데이터를 봐야한다.
  • 가용성(A)
    • 분산 시스템에 접속하는 클라이언트는 일부 노트에 장애가 발생해도 `항상 응답을 받을 수 있어야 한다.
  • 파티션 감내(P)
    • 파티션은 두 노드 사이에 통신이 장애가 발생했음을 의미
    • 파티션 감내는 네트워크에 파티션이 생기더라도 시스템은 계속 동작하여야 한다는 것을 의미

CAP정리는 CAP에서 어떤 2가지를 충족하면 나머지 하나는 반드시 희생되어야 한다는 것을 의미

  • CP시스템, AP시스템, CA시스템
  • 통상 네트워크 장애는 피할수 없으므로 분산 시스템은 반드시 파티션 문제를 감내할 수 있도록 설계 되어야 한다. 때문에 실세계에 CA 시스템은 존재하지 않음
  • 은행권 같은 경우 일관성을 양보하지 않기 때문에 상황이 가용성을 포기하고 해결될때까지 오류를 반환해야한다.
시스템 컴포넌트

키-값 저장소 구현에 사용될 핵심 컴포넌트들

  • 데이터 파티션
  • 데이터 다중화
  • 일관성
  • 일관성 불일치 해소
  • 장애 처리
  • 시스템 아키텍처 다이어그램
  • 쓰기 경로
  • 읽기 경로
728x90
반응형
LIST