대규모 시스템
💡대규모 시스템이란?
- 수백만 명의 사용자가 동시에 접속하고 상호작용할 수 있는 시스템
💡사용자 수
- 대규모 시스템을 설계할 때 가장 중요한 요소 중 하나는 사용자 수이다.
- 얼마나 많은 사용자가 시스템을 사용할 것인지 파악하는 것이 중요하다.
- 그러나 단순히 하루 접속량을 파악하는 것만으로는 충분하지 않다. 더 중요한 것은 동시 접속자의 요청 수이다.
💡TPS (Transactions Per Second)
- TPS (Transactions Per Second)는 초당 처리되는 트랜잭션의 수를 나타내는 지표이다.
- TPS는 시스템이 얼마나 많은 요청을 동시에 처리할 수 있는지를 나타내며, 시스템의 처리 능력을 가늠할 수 있게 해준다.
- 특정 시간대의 TPS를 파악해, 가장 많은 요청량이 들어오는 시간대에 맞춰 시스템의 용량 계획을 세우는데 활용할 수 있다.
예를 들어, 기존 시스템이 오전 9시 30분에 초당 200건의 요청을 처리했다고 가정해 보자.
이러한 데이터를 기반으로 시스템의 용량을 결정해야 한다.
우리의 목표는 시스템이 예상치 못한 최대 부하를 견딜 수 있도록 해야한다.
따라서 200건을 기준으로 1.5배인 300건을 처리할 수 있도록 시스템을 설계하는 것이 바람직하며,
이는 시스템이 예기치 않은 트래픽 급증에도 견딜 수 있는 여유를 제공한다.
Redis 데이터 전송 흐름
💡예시

Redis 캐시 사용 시 주의 사항
💡주의사항
<이미지>
- 페이징 처리된 객체를 Redis에 캐싱할 경우, 쉽게 메모리 사용량을 초과할 수 있다.
💡해결방법
- 모니터링 알람 : 일정 수준의 메모리 사용량을 초과할 경우 사용자에게 알람을 보낸다.
- ex. 50GB 용량이 차기 전에 30GB 용량이 채워지면 사용자에게 알람을 보냄
- Connection Time Out 설정 :
- ex. Connection Time Out 지난 경우, 빈 데이터 반환
- 프론트 엔드에서 Dummy Data 노출
출처
https://teamsparta.notion.site/1-1-2242dc3ef51481ddb69acd7313f11c79
챕터1-1 : 오리엔테이션 | Notion
1.1. 오프닝
teamsparta.notion.site
'심화 > MSA' 카테고리의 다른 글
| [MSA] RabbitMQ (0) | 2025.11.25 |
|---|---|
| [MSA] FeignClient vs WebClient (0) | 2025.11.21 |
| [Zipkin] 분산 추적 시스템 (업데이트 중..) (0) | 2025.11.12 |
| [IntelliJ] DSM(Dependency Structure Matrix) (0) | 2025.11.06 |
| [MSA] Spring Boot 개별 인스턴스 yml 설정 (0) | 2025.11.05 |