728x90

Stateful (상태유지)

서버에서 클라이언트의 상태를 유지(기억)하고 응답

- 항상 같은 서버를 통해서 응답받아야 한다.

- 만약 서버에 장애가 생겨서 다른 서버를 통해 작업을 수행하려고 한다면, 다시 처음부터 수행해야한다.

(새로운 서버에는 유지하고있는 값이 없기 때문에)

 

로그인 등의 작업에 많이 사용

 

Stateless (무상태)

서버에서 클라이언트의 상태를 유지(기억)하지 않음

- 클라이언트에서 요청할 때 모든정보를 담아서 서버로 요청한다.

- 모든정보를 매번 다시 받기때문에 중간에 서버가 장애가 나서 다른 서버를 통해 작업을 수행해도 모두 처리할 수 있다.

 

수평확장에 유리 (즉, 필요에 따라 서버 무한 증설이 가능)

 

실무에서의 한계점

설명처럼 모든곳에서 Stateless (무상태)를 사용하도록 설계한다면 장애나 대량의 트래픽 등이 발생했을 때 대처가 좀 더 용이할 것 이다.

하지만 모든 것을 무상태로 설계 할 수 있는 경우도 있고 없는 경우도 있다.

예를 들어 로그인 같은 경우 로그인했다는 상태를 서버에서 유지해야한다. (일반적으로도 쿠키나 세션을 통해 관리)

 

결론은 Stateful을 최소한으로 사용하고 되도록 Stateless로 설계하는 것이 중요하다.

728x90

'개발 지식 > WEB 기본 지식' 카테고리의 다른 글

HTTP 메시지 구조  (0) 2021.01.30
웹 브라우저 요청 흐름  (0) 2021.01.24
TCP, UDP  (0) 2021.01.17
IP(인터넷 프로토콜)  (0) 2021.01.13
복사했습니다!