stateless vs stateful 차이

Hyor·2022년 3월 30일
0

Stateful(연결형 통신)

연결형통신이며 마치 사람이 대화하듯이 통신하는 방식이다. 대표적으로 TCP가 있다.

Stateless(무상태, 비연결형)

Clinet 와 server 관계를 보존하지 않는것이다. 대표적으로 UDP, Http가 있다.

예를들어
편의점에 담배를 사러 갔다.
Client : 말보루라이트 주세요.
Server : 4500원 입니다. 결제 방법을 선택해주세요.
Client : 카드요.
Server : 결제되셨습니다.

이런식으로 Server가 클라이언트의 요청(상태)을 유지하는 것이 stateful이다.

반대로
Client : 말보루라이트 주세요.
Server : 4500원 입니다. 결제 방법을 선택해주세요.
Client : 말보루라이트 카드로 결제할게요.
Server : 결제되셨습니다.

이렇게 상태을 유지하지 못하기에 추가적인 내용이 많아진다.

그렇다면 왜 쓰는 것인가?

상태를 유지하지 않기 때문에 사용자가 많을수록 비용 측에서 유리하며, 확장성이 뛰어나다. 사용중인 서버가 문제가 발생하여 새로운 서버로 변경하여도 비즈니스 로직이 변하지 않는다면 이전의 사용자 요청이 어떤지에 관계없이 계속 일을 처리할 수 있다.

참고자료
https://irostub.github.io/web/stateful-stateless/

profile
개발 노트

0개의 댓글