상태 vs 무상태

서재환·2022년 3월 26일
0

Network

목록 보기
4/8

상태

클라이언트가 서버에 요청할 때 서버가 클라이언트의 이전 요청을 기억하는 것

통신하는 서버에 장애가 났을 경우 대처하기 힘들다. 
(클라이언트의 이전 요청을 장애난 서버에서 다른 서버로 전송하지 못할 경우)

무상태

클라이언트가 서버에 요청할 때 서버가 클라이언트의 이전 요청을 기억하지 못하는 것 따라서 
클라이언트는 요청을 보낼 때 상태인 상태보다 상대적으로 많은 데이터를 보낸다.

이러한 특징으로 인해 서버 증설이 쉽다. 서버증설이란 서버 개수를 늘리는 작업을 의미히고 수
평적 확장(scale out)이라고 한다.

무상태 한계

클라이언트가 서버에 요청할 때마다 tcp/ip 연결을 맺어야한다. 3-handway-shake 하는 
시간이 추가된다.

위와 같은 한계를 극복하기 위해 요즘은 지속연결을 사용한다. 특정시간 동안 클라이언트와 서버가 연결을 
끊지 않는 것이다. 그 시간 사이에 클라이언트가 요청한 데이터를 서버로부터 모두 응답받는다.

설계적 관점에서 상태와 무상태

가능한 서비스를 설계할 때에는 무상태로 설계하고 그렇지 못하는 부분에 대해선 상태로 설계를 한다.

0개의 댓글