LUNA's Archive

고정 헤더 영역

글 제목

메뉴 레이어

LUNA's Archive

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (77) N
    • C (2)
    • C++ (1)
    • Data Structure & Algorithm (9)
    • Computer Vision (0)
    • RDBMS (18) N
    • Spring Framework (4)
    • Network (8)
    • Spring Webflux (2)
    • Java (10) N
    • 대규모 설계 기초 (12)
    • Spring Data JDBC (5)
    • Spring Security (4)
    • JPA (0)
    • Spring Batch (0)
    • Infra (2)

검색 레이어

LUNA's Archive

검색 영역

컨텐츠 검색

대규모시스템설계

  • [System Design Interview] 12장. 채팅 시스템 설계

    2023.09.29 by Wanderer Kim

  • [System Design Interview] 8장 URL 단축기 설계

    2023.07.23 by Wanderer Kim

  • [System Design Interview] 5장 안정 해시 설계

    2023.07.04 by Wanderer Kim

[System Design Interview] 12장. 채팅 시스템 설계

1단계 문제 이해 및 설계 범위 확정 요구사항 1:1 채팅과 그룹 채팅 모두 지원 가능해야함. 모바일 앱과 웹 둘다 지원 가능해야함. 일별 능동 사용자 수 기준으로 5천만명 처리 가능해야 함. 그룹 채팅의 경우 최대 100까지 참가 가능함. 1:1 채팅, 그룹 채팅, 사용자 접속상태 표시 지원 가능해야 함, 텍스트 메시지만 주고받을 수 있음 메시지 길이 제한은 100,000자 이하여야 함. 종단 간 암호화는 필요없음. 설계할 채팅 앱 기능 응답지연이 낮은 일대일 채팅 기능 최대 100명까지 참여할 수 있는 그룹 채팅 기능 사용자의 접속상태 표시 기능 다양한 단말 지원, 하나의 계정으로 여러 단말에 동시 접속 지원 푸시 알림 2단계 개략적 설계안 제시 및 동의 구하기 채팅 서비스에서 제공해야 할 기능들 클..

대규모 설계 기초 2023. 9. 29. 20:04

[System Design Interview] 8장 URL 단축기 설계

1단계 문제 이해 및 설계 범위 확정 시스템 설계 면접 문제는 의도적으로 어떤 정해진 결말을 갖지 않도록 만들어 진다. 따라서 면접장에서 시스템을 성공적으로 설계해 내려면 질문을 통해 모호함을 줄이고 요구사항을 알아내야 한다. URL 단축기 시스템 기능 URL 단축 : 주어진 긴 URL을 훨씬 짧게 줄인다. URL 리디렉션 : 축약된 URL로 HTTP 요청이 오면 원래 URL로 안내 높은 가용성과 규모 확장성, 그리고 장애 감내가 요구됨 개략적 추정 쓰기 연산 : 매월 1억 개의 단축 URL 생성 초당 쓰기 연산 : 1억/24/3600 = 1160 읽기 연산 : 읽기 연산과 쓰기 연산 비율은 10:1이라고 하자. 그 경우 읽기 연산은 초당 11,600회 발생한다(1160 * 10 = 11,600) URL..

대규모 설계 기초 2023. 7. 23. 22:57

[System Design Interview] 5장 안정 해시 설계

안정 해시 사용 이유 수평적 규모 확장성을 달성하기 위해 요청 또는 데이터를 서버에 균등하게 나누는 것이 중요하고, 이를 위해 안정 해시가 사용 된다. 해시 함수란? 해시 함수는 임의의 길이의 입력값을 받아서 고정 크기의 출력값을 생성하는 수학 함수. e.g. SHA-256 해시 키 재배치 문제 N개의 캐시 서버가 존재할 때, 이 서버들에 부하를 균등하게 나누는 보편적 방법은 아래의 해시 함수를 사용하는 것이다. 4대의 서버를 사용할 때 위의 해시 함수의 결과값은 아래 표과 같이 나온다. 아래 그림은 키 값이 서버에 어떻게 분산되는지 보여준다. 이 방법은 서버 풀의 크기가 고정되어 있을 때, 그리고 데이터 분포가 균등할 때는 잘 동작한다. 하지만 서버가 추가되거나 기존 서버가 삭제되면 문제가 생긴다. 예..

대규모 설계 기초 2023. 7. 4. 23:26

추가 정보

인기글

최신글

페이징

이전
1
다음
TISTORY
LUNA's Archive © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바