250x250
Notice
Recent Posts
Recent Comments
관리 메뉴

탁월함은 어떻게 나오는가?

stateless(무상태) 란? 본문

[Snow-ball]프로그래밍(컴퓨터)/프로그래밍 및 컴퓨터 개론 이론

stateless(무상태) 란?

Snow-ball 2021. 4. 15. 23:03
반응형

stateless란

위키백과에서 검색해보면, stateless는 아래처럼 나온다.

컴퓨팅에서 무상태 프로토콜(stateless protocol)은 어떠한 이전 요청과도 무관한 각각의 요청을 독립적인 트랜잭션으로 취급하는 통신 프로토콜로, 통신이 독립적인 쌍의 요청과 응답을 이룰 수 있게 하는 방식이다. 무상태 프로토콜은 서버가 복수의 요청 시간대에 각각의 통신 파트너에 대한 세션 정보나 상태 보관을 요구하지 않는다. 반면, 서버의 내부 상태 유지를 요구하는 프로토콜은 상태 프로토콜(stateful protocol)로 부른다.

 

결국은, Stateless는 서버에 세션 상태가 없는것이다.

 

그렇기 때문에, Stateless 구조는 server의 response가 client와의 세션 'state'와 독립적이다.

Stateless 구조에서 server는 단순히 요청이 오면 response를 보내는 역할만 수행하며, 세션 관리는 client에게 책임이 있다.

 

Stateless 구조는 client와의 세션 정보를 기억할 필요가 없으므로, 이러한 정보를 서버에 저장하지 않는다. 대신 필요에 따라 외부 DB에 저장하여 관리할 수 있다. 세션 상태와 관계없이 단순히 데이터그램을 source에서 destination 쪽으로 전송한다. client가 송신하려 했던 모든 데이터가 server쪽에 수신 되었는지 확인하지 않는다. 따라서 server쪽은 client와의 세션 정보를 전혀 저장하지 않는다.

 

Stateless Service는 이러한 Stateless한 특성 2가지를 만족하도록 설계된 서비스 구조이다.

2가지.

-세션 정보를 server에 저장하지 않음

-세션 'State(상태)'에 무관한 응답

이러한 특성으로 인해서 Stateless 구조에서는 Client가 A의 요청을 하는 경우 고정된 서버에서만 관리할 필요가 없어졌다.

 

Stateless 구조가 Stateful 구조 대비 갖는 몇가지 장점들로 인해 최근의 웹서비스 구조는 모두 Stateless 구조 기반을 따르고 있다.

 

그렇다면 Stateless Service가 어떠한 점에서 유리할까? 여러가지 이유가 있지만, 제일 커다란 이유는 Scaling이 자유롭다는 것이다. 어떠한 이유로 트래픽이 급증함으로써 서버가 scale out을 하게 된다면, server는 clent 세션 관리를 하지 않으므로, 무한하게 확장을 시켜서 트래픽을 받을 수 있게 된다.

 

그리고 Stateless,마이크로 들은 손쉬운 확장성에 중점을 두고 있기 때문이다.

 

 

 

 

 

 

베타존 : 네이버쇼핑 스마트스토어

나를 꾸미다 - 인테리어소품 베타존

smartstore.naver.com

 

반응형
Comments