2011-12-08 9 views
0

나는 그것이 매우 일반적인 질문으로 들리지만, 나는이 제한 (무국적)으로 할 수 있는지 없는지를 알고 싶다. 예를 들어 Google에는 많은 서비스가 있습니다. 필자는 결과를 매우 빠르게 (수십 밀리 초) 반환해야하는 서비스에 더 관심이 있으며 거대한 데이터가 흩어져 있습니다 (어쩌면 즉석에서 요약본을 보관할 수도 있습니다). 이러한 경우에 은 "비즈니스 로직"서버가 비 상태 유지 또는 상태 저장 중임을 알 수 있습니까? stateless는 상태를 저장소 계층 (gfs/memcached/bigtable)로 이동시키는 단순성의 이점을 가질 수 있지만 요청을 동일한 노드로 전송하면 내부 메모리에서 스냅 한 결과를 얻을 수 있습니다. 누구나 거대한 실시간 확장 성 문제에 대한 경험이 있습니까?비즈니스 로직에 높은 실시간 (최대 수십 밀리 초가 허용됨) 비즈니스 로직이 비 상태 유지 또는 상태 유지이어야합니까?

답변

1

스테이트리스 서비스는 확장이 쉽지만 stateless는 다른 사람의 문제 (DB, 분산 캐시 등)를 상태로 만드는 것을 의미합니다.로드 및 대기 시간, 대역폭 등을 처리 할 수 ​​있어야합니다. 모두 무조건 서비스를 무국적자로 만들고 혜택을 누릴 수있는 모든 것을지지합니다.

프로젝트 제약 조건 (예산 등)에서 다른 사람이 상태 문제를 해결할 수없는 경우 서비스 상태를 상태로 유지해야합니다.

1

오직 stateless입니다. 이 경우 상태 동기화 서비스를 처리해야하기 때문에 상태 기반 서비스 서비스는 확장하기가 매우 어렵습니다.