본문 바로가기

전체 글319

처리율 제한 장치의 설계 네트워크 시스템에서 처리율 제한 장치(rate limiter)는 클라이언트 또는 서비스가 보내는 트래픽의 처리율(rate)을 제어하기 위한 장치다. HTTP를 예로 들면 이 장치는 특정 기간 내에 전송되는 클라이언트의 요청 횟수를 제한한다. 요청 횟수가 제한 장치에 정의된 임계치(threshold)를 넘어서면 추가로 도달한 모든 호출은 처리가 중단(block)된다. 다음은 몇가지 사례다. • 사용자는 초당 2회 이상 새 글을 올릴 수 없다. • 같은 IP주소로는 하루에 10개 이상의 계정을 생성할 수 없다. • 같은 디바이스로는 주당 5회 이상 리워드(reward)를 요청할 수 없다. 처리율 제한 장치의 설계에 앞서, API에 처리율 제한 장치를 두면 좋은 점을 살펴보자. • DoS(Denial of S.. 2024. 3. 11.
개략적인 규모 추정 개략적인 규모 추정은 보편적으로 통용되는 성능 수치상에서 사고 실험을 행하여 추정치를 계산하는 행위로서, 어떤 설계가 요구사항에 부합할 것인지 보기 위한 것이다. 개략적 규모 추정을 효과적으로 해 내려면 규모 확장성을 표현하는 데 필요한 기본기에 능숙해야 한다. 특히 2의 제곱수, 응답지연(latency) 값, 고가용성 에 관계된 수치들을 기본적으로 이해하고 있어야 한다. 2의 제곱수 분산 시스템에서 다루는 데이터의 양은 엄청나게 커질 수 있으나 그 계산법은 기본을 크게 벗어나지 않음. 제대로 된 계산 결과를 얻으려면 데이터 볼륨의 단위를 2의 제곱수로 표현하면 어떻게 되는지를 우선 알아야 한다. 최소 단위는 1바이트. 8비트로 구성. ASCII 문자 하나가 차지하는 메모리 크기가 1바이트이다. 2의 x.. 2024. 3. 9.
사용자 수에 따른 규모 확장성 단일서버 모든 컴포넌트가 한 대의 서버에서 실행. (웹, 앱, 데이터베이스, 캐시 등) 데이터베이스 서버 추가 단일서버에서 사용자가 늘면 웹/모바일 트래픽 처리용 서버와 데이터베이스 서버로 분리한다. 이때 데이터베이스를 관계형 데이터베이스와 비관계형 데이터베이스 중 무엇을 사용할 것인지 요구사항에 따라 선택해야한다. 일반적으로 낮은 응답 지연 시간, 비정형 데이터, 데이터를 직렬화하거나 역직렬화할 수 있기만 하면 되고, 아주 많은 양의 데이터를 저장해야한다면 비관계형 데이터베이스를 선택한다. 수직적 확장 vs 수평적 확장 수직적 확장(scale up) : 서버에 고사양 자원을 추가 수평적 확장(scale out) : 더 많은 서버를 추가 수직적 확장의 한계: 1. 한 대의 서버에 CPU, 메모리를 무한대.. 2024. 3. 3.
Amazon Web Services 클라우드 2 컴퓨팅 서비스 ⭐️ Amazon EC2 클라우드에서 안전하고 크기 조정이 가능한 컴퓨팅 용량을 제공하는 웹 서비스. 개발자가 더 쉽게 웹 규모의 컴퓨팅 작업을 수행할 수 있도록 설계되었음. 컴퓨팅 요구 사항의 변화에 따라 신속하게 용량을 확장하거나 축소할 수 있다. 실제 사용한 만큼만 요금을 지불하면 되므로, 컴퓨팅 비용이 절약. 개발자와 시스템 관리자에게 오류에서 복원 가능한 애플리케이션을 구축하고 일반 오류 시나리오와 격리할 수 있는 도구를 제공. 인스턴스 유형 • 온디맨드 인스턴스 실행하는 인스턴스에 따라 시간당 또는 초당 컴퓨팅 용량 에 대한 비용을 지불. 장기 약정이나 선결제 금액은 필요 없음. 애플리케이션 수요에 따라 컴퓨 팅 용량을 늘리거나 줄일 수 있으며 사용한 인스턴스에 대해 지정된 시간.. 2023. 9. 7.