🌐 아주 쉽게 이해하는 Stateful / Stateless 차이
[주요 개념] Stateful 과 Stateless
세션 (Session)
- 세션 상태
- 클라이언트와 서버간 통신 인증이 된 상태를 의미합니다.
- 인증된 상태에서 데이터 송수신이 가능합니다.
- 세션 정보
- 한 세션 내에서, 클라이언트가 서버에 전송할 데이터 정보를 의미합니다.
- 서버는 세션 유지 시간이 지나거나, 클라이언트가 전송하려했던 데이터를 모두 수신할 때까지 클라이언트와의 세션 상태를 유지합니다.
Stateful (상태유지)
서버가 클라이언트의 상태를 보존하는 방식
- 장점
- 서버는 클라이언트의 세션 정보를 저장하므로, 갑자기 통신이 중단되더라도 중단된 곳부터 다시 시작할 수 있습니다.
- 단점
- 확장성이 좋지 않습니다.
- 클라이언트의 세션 정보가 새로 scale out 된 서버에 저장 되어 있지 않습니다.
- 따라서, scale out 시, 클라이언트의 세션 정보를 새로운 서버에 옮겨주는 등의 부수적인 관리가 요구되므로, 확장성이 좋지 않습니다.
Stateless (무상태)
서버가 클라이언트의 상태를 보존하지 안흔 방식