인프런
프로젝트 요구사항 정리
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]. 강의 목표[2]. 프로젝트 요구사항게시글댓글인기글게시글 조회 최적화 전략[3]. System ArchitectureMonolithic ArchitectureMicro Service Architecture📎 출처
📝 강의 정리
[1]. 강의 목표
- 대규모 시스템에 적용할 수 있는 방법론 및 개발 전략
- RDBMS의 이해 및 활용
- In-memory DB의 이해 및 활용
- Message Broker의 이해 및 활용
- Kafka의 동작 원리
- 분산 이벤트 스트리밍 및 비동기 처리 application 구축
- “어떻게, 왜” 의 사고를 통한 고민
[2]. 프로젝트 요구사항
게시글
- 조회, 생성, 수정, 삭제, 목록 조회가 가능해야 한다.
- 좋아요 수를 제공한다
- 조회수는 사용자 별 10분에 1회로 제한을 둔다.
댓글
- 계층형 depth를 가진다.
- 최대 2 depth
- 무한 depth
인기글
- 일 단위 상위 10건 인기글 설정
- 매일 오전 1시에 업데이트가 진행된다.
- 댓글수 / 좋아요수 / 조회수 기반 가중치
- 최근 N일 인기글 내역 조회가 가능해야 한다.
게시글 조회 최적화 전략
- 게시글 단건 조회 최적화
- 게시글 목록 조회 최적화
- 캐시 최적화
[3]. System Architecture
- 시스템의 구조나 설계 방식
- 확장성, 유지보수성, 성능 등에 큰 영향
Monolithic Architecture
- 애플리케이션의 모든 기능이 하나로 통합된 아키텍쳐
✅ 장점
- 간단한 구조로 초기에 쉽고 빠르게 개발이 가능하다.
❗️단점
- 특정 부분만 확장하기 어렵다
- 변경 사항이 시스템 전체에 영향을 미칠 수 있다
- 시스템의 규모가 커질수록 복잡도가 커지고 개발이 어려워진다.
Micro Service Architecture
- 고려 사항
- 서비스 간 통신 비용
- 트랜잭션 관리
- 서비스 분리 기준
- 모니터링
- 개발 리소스