Network/네트워크
Stateful / Stateless이란?
하민석
2022. 5. 13. 12:39
Stateful 구조는 서버와 클라이언트 간 세션의 상태에 따라 응답을 보낸다.
이를 위해 세션 상태를 포함한 클라이언트와의 세션 정보를 서버에 저장하게 된다.
Stateful Service는 이러한 Stateful한 특성
(
- 세션 정보를 서버에 저장
- 세션 상태에 따른 응답
}
을 만족하도록 설계된 서비스 구조이다.
Stateless 구조는 서버의 응답이 클라이언트와의 세션 상태와 독립적이다.
Stateless 구조에서 서버는 요청이 오면 응답을 보내는 단순한 역할만 수행하며,
세션 관리의 책임은 클라이언트에게 있다.
즉, 세션 정보를 서버에 저장하지 않는다.
대신, 필요에 따라 외부 DB에 저장하여 관리할 수 있다.
Stateless 서비스는 이러한 Stateless한 특성,
(
- 세션 정보를 서버에 저장하지 않음
- 세션 상태와 무관한 응답
}
을 만족하도록 설계된 서비스 구조이다.
Stateful과 Stateless 구조는
서로 반대되는 특징을 지녔다.
현재엔 Stateless 구조가 대다수라고 하는데,
이유는 세션 정보를 서버에 저장하지 않는다는 특성 덕분에
서버에 문제가 생겨도 세션 정보에 문제가 생길 일은 없기 때문이라고 한다.
또한 scale out으로 서버를 확장할 때도 세션 정보를 일일이 옮겨주지 않아도 된다.