server/system design (26) 썸네일형 리스트형 1. TinyURL // bitly (URL shortening service) 1. 기능 요구 사항 사용자가 입력한 url(원본 도메인)을 특정 도메인을 포함한 형태로 단축 URL로 반환한다. 반환된 단축 url 클릭시 원본 URL로 리다이렉트 된다. 단축 URL은 일정시간이 지나면 만료되어 삭제된다. 만료 시간은 지정할 수 있어야 한다. ex) 예시로 tinyurl.com에서 실행한 결과 기존 url https://www.youtube.com/watch?app=desktop&v=xFPJmk5NQao&ab_channel=siterubix 단축 url https://tinyurl.com/4fyzbta6 2. 추정 및 제약 사항 2-1 트래픽 해당 시스템은 read가 압도적으로 많을 것이다. 읽기와 쓰기 사이의 비율이 100:1로 가정한다. 예상 트래픽 매월 5억 개의 새로운 단축 U.. how to system desgin? system desgin 질문에서의 파악해야할 4가지 1. 사용자 : 시스템을 누가 어떻게 사용하는가? 2. 스케일 : 시스템 증가에 따른 데이터 처리 방법 3. 성능 : 시스템이 얼마나 빨라야 하는가? 4. 비용 : 어떤 구조가 더 빠르고 효율적인가? System desgin 시 생각해야할 사항들 요구 사항에 맞는 제약사항 도출 사용자 수 트래픽, 1년, 5년 파일 저장 용량 - 1년 5년 디비 저장 용량 - 1년 5년 웹 서버 메모리 + 캐시 메모리 사용 API 도출 및 설계 API에 따른 디비 설계 서비스에 필요한 기본 알고리즘 도출 수정 및 최적화 DB 최적화 ( 용도, 사이즈에 맞는 DB 선택 및 파티셔닝 여부 ) 데이터의 성향에 맞는 디비 선택 테이블간의 조인이 많이 필요하면 RDB 확장과 테.. 이전 1 2 3 4 다음