상태 관리용 기술
다중 시스템 확장 기술은 애플리케이션 서버의 여러 개 사본에 따라 달라집니다. 다양한 클라이언트의 연속된 다중 요청은 다른 서버가 처리할 수 있습니다. 각 클라이언트 요청이 기타 모든 클라이언트 요청과 완전히 독립적이면 연속 요청이 동일한 서버에서 처리되는지 여부는 문제가 되지 않습니다. 그러나 사실 클라이언트 요청은 독립적이지 않습니다. 종종 클라이언트는 요청을 수행한 후 결과를 대기하며 이전 요청에서 수신한 결과에 따라 하나 이상의 후속 요청을 수행합니다.
클라이언트를 대신하는 이러한 조작 순서는 다음 두 가지 카테고리로 나누어집니다.
- Stateless
- 서버는 각 요청에 제공한 정보만을 기준으로 요청을 처리하며 이전 요청의 정보에 의존하지 않습니다. 서버는 요청 간의 상태 정보를 유지보수하지 않습니다.
- Stateful
- 서버는 각 요청에 제공한 정보와 이전 요청에서 저장된 정보를 기반으로 요청을 처리합니다. 서버는 이전 요청을 처리하는 동안 생성된 상태 정보에 액세스하여 유지보수해야 합니다.
Stateless 상호작용의 경우, 다른 요청이 다른 서버에 의해 처리되는지 여부는 문제가 되지 않습니다. 그러나 Stateful 상호작용의 경우에 요청을 처리하는 서버는 이 요청을 처리하는 데 필요한 상태 정보에 액세스해야 합니다. 동일 서버는 동일 상태 정보와 연관된 모든 요청을 처리하고, 또는 상태 정보는 이것을 요구하는 모든 서버가 공유할 수 있습니다. 후자의 경우, 동일 서버에서 공유 상태 정보에 액세스하면 다중 서버에서 공유 상태 정보 액세스와 연관된 처리 오버헤드를 최소화할 수 있습니다.
제품의 로드 분배 기능은 여러 다양한 기술을 사용하여 클라이언트 요청 사이의 상태 정보를 유지보수합니다.
- 로드 분배 기능이 클라이언트 세션의 존재를 인식하고 동일한 서버에 세션 내의 모든 요청을 지정하는 세션 선호도
- 로드 분배 기능이 트랜잭션의 존재를 인식하고 동일한 서버에 해당 트랜잭션 범위 내의 모든 요청을 지정하는 트랜잭션 선호도
- 로드 분배 기능이 다중 서버가 지정된 클라이언트 요청을 승인할 수 있지만 특정 서버가 해당 요청 처리에 가장 적합하다고 인식하는 서버 선호도
각 애플리케이션 서버의 파트로 클라이언트 세션 정보를 저장하고 클라이언트 요청을 애플리케이션 서버의 클러스터 멤버에 지정할 경우 세션 선호도 및 서버 선호도를 고려하는 세션 관리자. 워크로드 관리 서비스는 애플리케이션 서버의 클러스터 멤버 간에 클라이언트 요청을 지정할 경우 서버 선호도 및 트랜잭션 선호도를 고려합니다.