반응형
무상태 프로토콜(stateless)은 대표적으로 HTTP가 있다.
상태 프로토콜(stateful)은 TCP Sock 커스텀 프로토콜 등이다.
Stateless
Pros
- 서버의 수평확장 용이
- 로드밸런싱 용이
- 적은 메모리 사용량
- 연결 지속성이 없음
Cons
- 요청 헤더가 큼
- 느리다(DB관련 오버헤드)
- 단방향 통신
Stateful
Pros
- 요청 헤더가 작음
- 빠르다(메모리에 데이터로 대부분 처리가능)
- 양방향 통신
Cons
- 서버의 수평확장이 어려움
- 로드밸런싱이 어려움
- 많은 메모리 사용량(상대적)
- 연결에 지속성이 필요하며, 재접속에 대한 오버헤드가 큼
대략 이런 장단점을 가지고 있다고 볼 수 있다. 구글링을 하면 더 자세한 정보가 있을 것이다.
전통적으로 게임서버는 stateful로, 구현되었으나, 모바일 게임에서는 연결을 유지하는게 어렵기 때문에 HTTP 프로토콜을 이용하기도 한다.
저 Bold처리한 연결지속성이 실제로는 가장 큰 이슈이며, stateless가 대세인 이유라고 생각한다. 게다가 다 떠나서, 일단 어렵다!
이쯤되면, 새로운 프로토콜의 필요성이 느껴진다.
아직은 연결 지속성 없이 양방향 통신이 가능하다는 건 어불성설이로구나.
반응형
'dev > etc' 카테고리의 다른 글
php7 캐슁 (0) | 2019.10.20 |
---|---|
2017년에 꼭 배워야할 언어 프레임웤 툴 (0) | 2017.03.02 |
[OAuth 2.0] Store token and re-authentication (0) | 2017.02.15 |
git .gitignore 적용 (apply gitignore) (0) | 2016.12.08 |
ubuntu on docker on windows (0) | 2016.05.17 |