MSA
-
안정 해시 설계시스템 설계 2022. 8. 2. 22:35
[가상 면접 사례로 배우는 대규모 시스템 설계]를 읽고 작성하는 포스트 입니다. 틀린 내용이 있을 수도 있습니다! 틀린 내용이 있다면 댓글로 달아주시면 감사하겠습니다! 수평적 규모 확장성 구조를 위해서는 데이터나 요청을 서버에 균등하게 나누는 것이 중요하다. 이번 포스팅에서는 수평적 규모 확장성 구조에 왜 안정해시 설계가 필요한지에 대해서 작성한다. 우선 안정 해시 설계에 대해서 알아보기전에, 어떤 문제를 풀려고 하는지에 대해서부터 알아보자. 다음 문제에 주목하자. 해시 키 재배치(rehash) 문제 4개의 캐시 서버가 있다고 가정하자. 보편적으로 데이터를 4개의 캐시 서버에 고루 배정할 때 다음과 같은 해시 함수를 사용할 수 있다. serverIndex = hash(key) % 4 예를 들어 hash(..
-
처리율 제한 장치(Rate Limiter) 설계시스템 설계 2022. 7. 31. 17:20
[가상 면접 사례로 배우는 대규모 시스템 설계]를 읽고 작성하는 포스트입니다. 틀린 내용이 있을 수도 있습니다! 틀린 내용이 있다면 댓글로 달아주시면 감사하겠습니다! 이번 포스팅은 처리율 제한 장치의 개념, 설계할 때 고려해야 할 부분 등에 대한 내용을 정리한다. 처리율 제한 장치(Rate Limiter)란? - 처리율 제한 장치는 클라이언트 또는 서비스가 보내는 트래픽의 처리율을 제어하기 위한 장치다. - 특정 기간 동안 전송되는 클라이언트의 요청을 제한하는 장치다. - 정의된 임계치를 넘어가면 이후에 들어온 모든 요청들의 처리를 중단한다. 구체적으로 다음과 같은 경우들을 예로 들 수 있다. - 사용자는 초당 2회 이상의 새 글을 올릴 수 없음 - 같은 IP 주소로 하루에 10개 이상의 계정을 생성할 ..