클라이언트가 서버에 요청을 보내면 서버는 그에 대한 응답을 보내는 클라이언트 서버 구조로 이루어져있다.

Request Response
클라이언트는 서버에 요청을 보냄 -> 응답 대기
서버가 요청에 대한 결과를 생성 -> 응답
단점: 클라이언트가 추가 데이터 전송
Stateful VS Stateless
- 상태 유지: 중간에 다른 점원으로 바뀌면 안된다.
(중간에 다른 점원으로 바뀌면 상태 정보를 다른 점원에게 미리 알려주어야 함)- 무상태: 중간에 다른 점원으로 바뀌어도 된다.
- 갑자기 고객이 증가해도 점원 대거 투입 가능
- 갑자기 클라이언트 요청이 증가해도 서버를 대거 투입할 수 있음
- 무상태는 응답 서버를 쉽게 바꿀 수 있다
(무한한 서버 증설이 가능)
상태 유지(Stateful)
항상 같은 상태가 유지되어야 한다.

상태가 유지 되어야 하는 프로토콜이라면 클라이언트 A의 요청을 서버 1이 기억하고 있기에 항상 서버 1이 응답해야함
서버 1에서 장애가 나면 유지되던 상태 정보가 모두 다 날아가 버리기 때문에 처음부터 다시 요청해야 한다
무상태 (Stateless)
아무 서버나 호출해도 된다.

클라이언트 A가 요청할 때 이미 필요한 데이터를 다 담아서 보내기 때문에 아무 서버나 호출해도 된다.
스케일 아웃(Scale-out)
