Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

DB를 호출하여 그대로 재생하는 RestfulAPI를 한가지 예로 볼수가 있으며 다음과 같은 특징이있습니다. 

  • 상태가 없기때문에 캐싱및 분산에 용이하나, 병목지점이 있기때문에 폴링을 통해 전체를 요구하기때문에 성능에 항상 좋다라고 볼수는 없습니다.
  • 상태가 없는것을 보완하기위해, 사용자별로 상태가 있는 쿠키를 이용하기도 합니다.
  • RestAPI 도 상태가 있을수 있습니다.  게임진행가능한 턴제게임 API가 대표적인 예입니다.

StateFul

IncreaseValue와 같이 함수를 호출한것만으로, 횟수에따라 상태를 변경할수 있기때문에 결과값에 영향을 줍니다.

...

  • 사용자별로 상태가 있기때문에 스케이아웃하기가 어렵습니다. ( 변경된 상태를 다른 노드에도 알릴수 있는 장치가 필요)
  • 상태가 있기때문에 그것을 복원하기위해 Persitence 장치가 필요로합니다. 
  • 웹소켓도 상태가없는 데이터만 받을수 있습니다. 요청-응답의 한쌍이 특정 저장소에 있는 내용을 항상 반환하는 경우입니다.     

StateFul이 왜 필요한가?

위 비교를 보면 StateLess가 장점이 많은 개발방식으로 보이지만, 그 차이를 이해하고 적합한 방식을 사용해야합니다. 

...