Page History
...
상태없는 서비스 VS 상태 있는서비스 장단점 요약
특성 | 상태없는 서비스 | 상태 있는 서비스 |
---|---|---|
병목 원인 | 데이터베이스, 외부 API, 캐시 사용으로 부하 증가 | 상태 동기화, 세션 관리, 중앙 상태 저장소로 부하 증가 |
확장성 | 수평 확장이 용이하며 병목을 분산 처리 가능 | 상태 동기화 필요로 인해 확장성이 제한됨 |
장애 복구 | 장애 복구가 상대적으로 단순 | 병목 지점의 상태 복구가 복잡 |
최적화 방향 | 요청 간 상태 독립성 활용, 캐싱 및 병목 지점 분산 | 상태 동기화 최적화, 병목 지점 클러스터링 |
적합한 사례 | 대규모 웹 애플리케이션, REST API, 서버리스 설계 | 게임 서버, 채팅, 실시간 세션 기반 시스템 |
일반적인 웹개발에서 상태없는 서비스로 작성하는것이 이득이 있지만 , 게임또는 채팅이 진행되는동안 상태업데이트가 지속 일어나는경우
...
액터모델은 기본적으로 상태를 관리하며 라이프 사이클이 웹(REST API)에서 요청하는 사이클보다 긴 사이클의 상태관리를 할때 활용할수 있습니다.
시도되는 코드
- 조건에 따른 상태저장 : 특정 사용자가 Hello를 하면 사용자별 카운트 1증가 , 기분이 나쁜 상태일때는 Hello를 거부 카운트 증가없음
- 상태읽기 : 특정 사용자 Click 카운트를 확인 하기 위해 1000번 조회후 성능측정
- 추가 미션 : 마지막 상태값 저장뿐만 아니라 상태 로그를 저장해 시계열분석이 가능하도록 데이터 처리