• 티스토리 홈
starryeye
  • 프로필사진
    starryeye
    • 분류 전체보기 (189)
      • C++ (17)
      • Java (24)
      • OOP (5)
      • Spring Reactive Stack (12)
        • Reactive Streams (3)
        • Netty (4)
        • Reactor (1)
        • Webflux (3)
        • DB, Cache 연동 (1)
      • Spring (90)
        • Core (17)
        • MVC (33)
        • Client (2)
        • Security (4)
        • DB, Cache 연동 (33)
      • DataBase (12)
        • RDBMS (2)
        • NoSQL (10)
      • Message Broker (6)
      • Web (4)
      • Network (4)
      • 대규모 시스템 설계 (15)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • 사용자 수에 따른 규모 확장성 1
        2022년 07월 21일
        • starryeye
        • 작성자
        • 2022.07.21.:35
        반응형

        [가상 면접 사례로 배우는 대규모 시스템 설계 기초] 책을 정리하면서

        자체적으로 좀 더 내용을 추가 하였습니다.

         

        단일 서버

        모든 컴포넌트가 단 한 대의 서버에서 실행되는 시스템

        (웹 앱, 데이터 베이스, 캐시 등)

         

         

         

         

        데이터 베이스

        사용자가 늘면 서버 하나로는 충분하지 않아 여러 서버를 두어야 한다.

        두가지 용도의 서버로 나누어 보자.

        웹/모바일 트래픽 처리 용, 데이터 베이스 용

        이렇게 웹 계층과 데이터 계층을 나누게 되면 독립적으로 확장해 나갈 수 있다.

         

         

        수직적 규모 확장 vs 수평적 규모 확장

         

        수직적 규모 확장

        : 스케일 업, 서버에 고사양 자원(CPU, RAM)을 추가하여 그 서버 자체의 성능을 개선

        • 성능을 무한대로 끌어 올릴 수는 없어 한계점이 명확하다.
        • Single Point of Failure(SPOF)에 대해 취약하다.
          • 자동복구 방안, 다중화 방안 제시 못함

         

        수평적 규모 확장

        : 스케일 아웃, 더 많은 서버를 추가하여 성능을 개선

        • 하나의 서버가 다운되더라도 다른 서버로 대처 가능하다.

         

        로드 밸런서

        로드 밸런서는 부하 분산 집합에 속한 웹 서버들에게 트래픽 부하를 고르게 분산 하는 역할을 한다.

        DNS가 공개 IP 주소로 매핑 시켜주면, 로드 밸런서가 부하 분산 및 장애에 따른 대응의 역할을 수행하며

        적절하게 사설 IP로 요청하게 된다.

        부하가 많으면 더 많은 서버를 두면 된다.

        알고리즘

        • 라운드 로빈
          • 순서대로.. 돌아가며..
        • 가중 라운드 로빈
          • 서버 별, 가중치를 두어 가중치가 높은 서버에 우선 배분
          • 트래픽 처리 능력이 서버별로 다를 경우에 사용
        • IP 해시 방식
          • IP 주소를 해싱하여 서버에 매핑한다.
          • 항상 동일한 서버에 매핑될 것이다...
        • 최소 연결 방식
          • 가장 적은 트래픽을 가진(가장 적은 연결 상태) 서버에 매핑
        • 최소 리스폰 타임
          • 서버의 연결 상태와 응답 시간을 고려하여 트래픽 배분

         

        반응형

        '대규모 시스템 설계' 카테고리의 다른 글

        안정 해시 설계 1  (0) 2022.09.03
        사용자 수에 따른 규모 확장성 5  (0) 2022.07.23
        사용자 수에 따른 규모 확장성 4  (0) 2022.07.23
        사용자 수에 따른 규모 확장성 3  (0) 2022.07.22
        사용자 수에 따른 규모 확장성 2  (0) 2022.07.22
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바