Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- 백엔드개발자
- interceptor
- CS
- 데이터베이스
- SnowFalke
- 인프라
- JPA
- devops
- 웹개발
- http
- 백엔드
- java
- Spring
- 네트워크
- 보안
- 캐시
- 백엔드기초
- 웹성능최적화
- 프론트엔드
- redis
- 성능최적화
- db
- spring event
- Spring Boot
- DEVIEW2023
- 클린코드
- 인증
- 세션
- 백엔드개발
- AbstractAggregateRoot
Archives
- Today
- Total
이것저것 개발기록
서버가 터지지 않게! 로드 밸런싱(Load Balancing)의 기초 본문
"사용자가 갑자기 몰리면 서버는 어떻게 버틸까요?"
컴퓨터 한 대의 성능을 높이는 것(Scale-up)에는 한계가 있습니다. 여러 대의 서버로 부하를 나누는 로드 밸런싱에 대해 알아봅시다.
1. 로드 밸런서의 역할
로드 밸런서는 클라이언트와 서버 풀(Server Pool) 사이에 위치하여, 유입되는 트래픽을 여러 서버로 분산해주는 장치입니다. 서비스의 가용성을 높이고 무중단 배포를 가능하게 하는 핵심 인프라죠.
2. 주요 분산 알고리즘
- Round Robin (라운드 로빈): 순서대로 돌아가며 요청을 할당합니다. 가장 단순합니다.
- Least Connections: 현재 연결 수가 가장 적은 서버로 우선 보냅니다.
- IP Hash: 클라이언트의 IP를 해싱하여 특정 서버로 연결합니다. 세션 유지에 유리합니다.
💡 실무 노트
실무에서 로드 밸런싱을 도입할 때 가장 먼저 마주치는 문제는 '세션 공유'입니다. A 서버에 로그인했는데 다음 요청이 B 서버로 가면 로그인이 풀려버리거든요.
팁: 이를 해결하기 위해 Sticky Session을 쓰기도 하지만, 최근에는 Redis 같은 외부 세션 스토리지를 두거나 JWT를 활용해 서버가 세션을 직접 들고 있지 않게 설계하는 방식을 더 선호합니다.
'IT 이야기' 카테고리의 다른 글
| 브라우저 저장소 총정리 (Cookie vs LocalStorage vs SessionStorage) (0) | 2025.12.29 |
|---|---|
| Git Merge vs Rebase, 상황에 맞는 협업 전략 (0) | 2025.12.28 |
| MVC 패턴이란? 역할 분담이 중요한 이유 (1) | 2025.12.27 |
| JWT(JSON Web Token)의 구조와 보안 가이드 (0) | 2025.12.27 |
| 자바 가비지 컬렉션(GC)의 원리와 메모리 관리 (0) | 2025.12.27 |