'Stateless'와 'Stateful'에 대해서 많이 들어봤는데, 개념 정리는 해본적이 없는데 면접 준비를 하면서 궁금해 직접 정리해보았다, 여기저기서 들은 내용을 토대로 정리한거라 정확하지 않으면 안읽어도 좋다.
개념?
어떠한 이전 요청과도 무관한 각각의 요청을 독립적인 트랜잭션으로 취급
무상태 프로토콜은 서버가 복수의 요청 시간대에 각각의 통신 파트너에 대한 세션 정보나 상태 보관을 요구하지 않음
어떤 세션 정보나 상태를 보관하고 있지 않기 때문에 사용자 측면에서 어떤 서버로 통신해도 동일한 결과를 받을 수 있음
사용 프로토콜?
로드 밸런싱?
세션 정보나 상태를 보관하지 않기 때문에 로드 밸런싱이 용이
여러 개의 서버가 존재할 때, 활용도 증가
확장성
개념
'Stateless'의 반대 개념
어떤 세션 정보나 상태를 보관하고 있으므로 기통신하던 서버로만 통신이 되어야 동일한 결과를 받을 수 있음
사용 프로토콜
로드 밸런싱
세션 정보나 상태를 보관하기 때문에 특정 사용자는 특정 서버와 통신이 계속 이루어지는 구조
여러 개의 서버가 존재한다면 특정 서버만 이용하므로 비효율적임
확장성
상태 정보를 직접 관리하기 때문에 확장이 힘든 구조
상태 정보를 공유하도록 설계하면 비용적인 문제 발생