Stateless vs Stateful?

kwon_yongil_·2021년 5월 13일
0

'Stateless'와 'Stateful'에 대해서 많이 들어봤는데, 개념 정리는 해본적이 없는데 면접 준비를 하면서 궁금해 직접 정리해보았다, 여기저기서 들은 내용을 토대로 정리한거라 정확하지 않으면 안읽어도 좋다.

Stateless?

개념?

  • 어떠한 이전 요청과도 무관한 각각의 요청을 독립적인 트랜잭션으로 취급

  • 무상태 프로토콜은 서버가 복수의 요청 시간대에 각각의 통신 파트너에 대한 세션 정보나 상태 보관을 요구하지 않음

  • 어떤 세션 정보나 상태를 보관하고 있지 않기 때문에 사용자 측면에서 어떤 서버로 통신해도 동일한 결과를 받을 수 있음

사용 프로토콜?

  • UDP, HTTP

로드 밸런싱?

  • 세션 정보나 상태를 보관하지 않기 때문에 로드 밸런싱이 용이

  • 여러 개의 서버가 존재할 때, 활용도 증가

확장성

  • 상태 정보를 직접 관리하지 않기 때문에, 요청을 처리하는 여러 서버를 추가해도 동일한 응답을 받을 수 있음

Stateful

개념

  • 'Stateless'의 반대 개념

  • 어떤 세션 정보나 상태를 보관하고 있으므로 기통신하던 서버로만 통신이 되어야 동일한 결과를 받을 수 있음

사용 프로토콜

  • TCP

로드 밸런싱

  • 세션 정보나 상태를 보관하기 때문에 특정 사용자는 특정 서버와 통신이 계속 이루어지는 구조

  • 여러 개의 서버가 존재한다면 특정 서버만 이용하므로 비효율적임

확장성

  • 상태 정보를 직접 관리하기 때문에 확장이 힘든 구조

  • 상태 정보를 공유하도록 설계하면 비용적인 문제 발생

관심 있을 만한 포스트

0개의 댓글