인프런

프로젝트 요구사항 정리

date
Mar 30, 2025
slug
large-scale-system-design-1
status
Public
tags
대규모 시스템 설계
author
summary
대규모 데이터와 트래픽을 지탱할 수 있는 시스템을 고려한다.
type
Post
thumbnail
updatedAt
Apr 5, 2025 03:56 AM
category
인프런

📝 강의 정리


[1]. 강의 목표


  1. 대규모 시스템에 적용할 수 있는 방법론 및 개발 전략
  1. RDBMS의 이해 및 활용
  1. In-memory DB의 이해 및 활용
  1. Message Broker의 이해 및 활용
      • Kafka의 동작 원리
      • 분산 이벤트 스트리밍 및 비동기 처리 application 구축
  1. “어떻게, 왜” 의 사고를 통한 고민

[2]. 프로젝트 요구사항


게시글

  • 조회, 생성, 수정, 삭제, 목록 조회가 가능해야 한다.
  • 좋아요 수를 제공한다
  • 조회수는 사용자 별 10분에 1회로 제한을 둔다.
 

댓글

  • 계층형 depth를 가진다.
    • 최대 2 depth
    • 무한 depth
 

인기글

  • 일 단위 상위 10건 인기글 설정
    • 매일 오전 1시에 업데이트가 진행된다.
    • 댓글수 / 좋아요수 / 조회수 기반 가중치
  • 최근 N일 인기글 내역 조회가 가능해야 한다.
 

게시글 조회 최적화 전략

  • 게시글 단건 조회 최적화
  • 게시글 목록 조회 최적화
  • 캐시 최적화
 

[3]. System Architecture


  • 시스템의 구조나 설계 방식
  • 확장성, 유지보수성, 성능 등에 큰 영향
 

Monolithic Architecture

  • 애플리케이션의 모든 기능이 하나로 통합된 아키텍쳐
 
✅ 장점
  •  간단한 구조로 초기에 쉽고 빠르게 개발이 가능하다.
❗️단점
  • 특정 부분만 확장하기 어렵다
  • 변경 사항이 시스템 전체에 영향을 미칠 수 있다
  • 시스템의 규모가 커질수록 복잡도가 커지고 개발이 어려워진다.
 

Micro Service Architecture

  • 고려 사항
    • 서비스 간 통신 비용
    • 트랜잭션 관리
    • 서비스 분리 기준
    • 모니터링
    • 개발 리소스
 
 
 
 

📎 출처