무상태 (stateless) 웹 계층
수평적 확장을 위해서는 상태 정보(사용자 세션 데이터 같은)를 웹 계층에서 분리해야 한다. 웹 계층과는 별도의 DB에 저장해서 필요할 때 가져오도록 한다.
상태 정보를 웹 계층에서 저장한다면 사용자 A의 요청은 언제나 상태 정보를 가지고 있는 웹서버에서 수행되어야 한다. 대부분의 로드밸러서는 특정 클라이언트의 요청을 특정 인스턴스로 고정하는 고정 세션 기능을 지원한다. 하지만 이는 특정 클라이언트의 요청이 특정 인스턴스에 몰리기 때문에 부하의 불균형을 초래할 수 있다.
그래서 웹 서버 계층이 아닌 데이터 계층에 별도의 DB를 두어서 웹 서버에서 필요할 때 정보를 가져오도록 한다. 아래 그림의 공유 저장소가 그 역할이다. 이러한 구조를 통해 웹 서버는 상태 정보와 무관하게 트래픽에 따라 개수를 늘리거나 줄일 수 있다.
'IT 정보' 카테고리의 다른 글
macOS에서 파이썬 가상환경 만들기 (0) | 2024.05.09 |
---|---|
NVIDIA AI칩, 우위 유지하는 이유 (0) | 2024.03.18 |
주가 1000% 오른 '슈퍼마이크로', AI 서버 (0) | 2024.03.16 |
[kotlin, Java] ByteArrayOutputStream과 ByteBuffer의 차이 (0) | 2023.08.01 |
Discovery Protocol (탐색 프로토콜) (0) | 2022.12.23 |