Jay's Dev Note

처리율 제한 장치의 설계

처리율 제한 장치의 설계 API 요청횟수가 특정 임계치를 넘어가면 추가로 도달한 요청은 처리를 중단하는 것 장점 DoS공격 방지 비용절감 서버 과부하 방지 처리율 제한 알고리즘 토큰 버킷 토큰을 발급하고 토큰의 갯수 만큼만 API 요청을 버킷에 담음 버킷이 가득 찬 경우 API요청은 버려짐(overflow...

안정 해시 설계

수평적 규모 확장을 위해서는 요청 또는 데이터를 서버로 균등하게 나누는 것이 중요 안정 해시는 이 목표를 달성하기 위해 보편적으로 사용하는 기술 안정 해시 설계의 이점 서버가 추가되거나 삭제될 때 재배치되는 키의 수가 최소화된다. 데이터가 보다 균등하게 분포하게 되므로 수평적 규모 확장성을 달성하기 쉽다. 핫스팟(hotspot)...

시스템 설계 면접 공략법

효과적 면접을 위한 4단계 접근법 1. 문제 이해 및 설계 범위 확정 구체적으로 어떤 기능들을 만들어야 하나 제품 사용자 수는 얼마나 되나 회사의 규모는 얼마나 빨리 커지리라 예상하나? 석 달, 여섯 달, 일년 뒤의 규모는 얼마가 되리라 예상하는가 회사가 주로 사용하는 기술 스택은 무엇인가 설계를 단순화 하기 위한 기존 서비스로...

팩토리 패턴

⛳ 들어가기 전에.. 회사에서 같은 프로세스 내에서 각각의 제휴사에 서비스를 인터페이스해야 하는 경우가 있었다. 전체적인 프로세스 플로우를 인터페이스로, 제휴사를 클래스(Bean)로 만들어 팩토리 패턴으로 구현하였다. 동일한 프로세스 플로우 내에서 각기 다른 제휴사의 API와 연동해야 했는데 팩토리 패턴이 많은 도움이 되었다. 👋 팩토리패턴...

개략적인 규모 추정

2의 제곱 수 최소단위는 1바이트, 8비트 아스키 문자 하나 메모리크기가 1바이트 모든 프로그래머가 알아야 하는 응답 지연 값 메모리는 빠르지만 디스크는 아직도 느리다 디스크 탐색은 가능한 한 피하라 단순한 압축 알고리즘은 빠르다 데이터를 인터넷으로 전송하기 전에 가능하면 압축하라 데이터 센터는 보통 여러 지역에 분...