반응형
1. Stateless란?
- Stateless는 클라이언트와 서버와의 관계에서 서버측에서 클라이언트에 대한 상태를 보존하지 않는 것으로, 별도의 세션 정보를 기록하지 않는 방식을 의미한다. 즉, 클라이언트와 서버간의 연결이 지속하여 연결된 상태가 아니므로 서버에서는 클라이언트의 현재 상태를 알 수 없다.
- Stateless의 경우 클라이언트에서는 어떠한 작업을 서버로 요청할 때 각각의 상태를 명확하게 요청하게 된다. 그렇기 때문에 서버측에서는 클라이언트에서 요청한 사항에 대해서만 응답을 처리하면 된다. 대표적으로 RestFul이 Stateless 방식이다.
ex) 노트북 가격 알려줘, 판매 가능 노트북 리스트 알려줘. - 앞서 설명한 바와 같이 클라이언트와 서버간에 연결이 되지 않은 상태이므로 서버 측에서 서버 일부가 장애가 발생하더라도 클라이언트에서는 아무런 영향 없이 서비스를 이용할 수 있게 된다. 마찬가지로 서버증설을 실시간으로 하여도 영향이 발생하지 않게 된다.
2. Stateful이란?
- Stateless와는 반대로 클라이언트와 서버가 지속적으로 서로에게 상태를 체크하여 현재 상태를 지속 반영한다.
이렇게 연결된 두 관계는 어느 한쪽이 일방적으로 끊지 않는 이상 지속적인 관계를 유지하게 된다.
대표적으로 TCP 통신이다. - 이러한 특징으로 Stateful의 경우 세션정보를 서버에 저장하므로 서버 성능에 영향을 끼치고 서버 확장에 어려움이 존재한다.
반응형
'Backend > Server&Network&설계' 카테고리의 다른 글
Rate Limiter란? 그리고 방식과 특징 (0) | 2024.12.17 |
---|---|
HA Proxy란? (0) | 2022.08.09 |
프록시 서버란? (0) | 2022.08.07 |
서버(세션) 기반 인증 vs 토큰 기반 인증 (0) | 2022.02.22 |