상태 저장 애플리케이션의 안정성을 보장하기 위해 로드 밸런서는 관련된 모든 연결을 동일한 서버로 보내는 지속성을 구현합니다. 다양한 유형의 애플리케이션 요구 사항을 해결하기 위해 다양한 유형의 지속성이 지원됩니다.
일부 애플리케이션은 서버 상태(예: 쇼핑 카트)를 유지 보수합니다. 이러한 상태는 클라이언트마다 있을 수 있으며 클라이언트 IP 주소 또는 HTTP 세션별로 식별될 수 있습니다. 애플리케이션은 HTTP 세션 또는 동일한 클라이언트와 관련된 후속 연결을 처리하는 동안 이 상태에 액세스하거나 수정할 수 있습니다.
소스 IP 지속성 프로파일은 소스 IP 주소를 기반으로 세션을 추적합니다. 클라이언트가 소스 주소 지속성을 사용하는 가상 서버에 대한 연결을 요청하면, 로드 밸런서는 해당 클라이언트가 이전에 연결되었는지 확인하여 연결한 적이 있으면 클라이언트를 동일한 서버에 반환합니다. 그렇지 않으면 로드 밸런서가 풀 로드 밸런싱 알고리즘을 기준으로 서버 풀 멤버를 선택합니다. 소스 IP 지속성 프로파일은 계층 4 및 계층 7 가상 서버에 사용됩니다.
규칙 지속성, 쿠키 지속성 및 서버 연결 유지가 모두 구성된 경우 로드 밸런서는 규칙 지속성 > 쿠키 지속성 > 서버 연결 유지의 우선 순위를 따릅니다.
- 쿠키 삽입 - 로드 밸런싱 기능은 클라이언트에 대한 서버 응답에 풀 멤버 정보(인코딩되었거나 인코딩되지 않음)를 포함하는 자체 쿠키를 삽입합니다. 클라이언트는 후속 요청에서 수신된 쿠키를 전달하고(포함된 NSX 쿠키) 로드 밸런서는 해당 정보를 사용하여 풀 멤버 지속성을 제공합니다. NSX 쿠키는 풀 멤버에 전송될 때 클라이언트 요청에서 트리밍됩니다.
- 쿠키 접두사 - 로드 밸런서는 클라이언트에 대한 서버 응답에 풀 멤버 정보(인코딩되었거나 인코딩되지 않음)를 추가합니다. 그러면 클라이언트는 후속 요청에서 수신된 HTTP 쿠키를 전달하고(NSX가 접두사로 포함된 정보) 로드 밸런서는 해당 정보를 사용하여 풀 멤버 지속성을 제공합니다. NSX 쿠키 접두사는 풀 멤버에 전송될 때 클라이언트 요청에서 트리밍됩니다.
- 쿠키 재작성 - 로드 밸런서는 클라이언트에 대한 서버 응답에서 서버 쿠키 값을 풀 멤버 정보(인코딩되었거나 인코딩되지 않음)로 대체합니다. 그러면 클라이언트는 후속 요청에서 수신된 HTTP 쿠키를 전달하고(NSX가 접두사로 포함된 정보) 로드 밸런서는 해당 정보를 사용하여 풀 멤버 지속성을 제공합니다. 원본 서버 쿠키는 풀 멤버에 전송될 때 클라이언트 요청에서 대체됩니다.
일반 지속성 프로파일은 HTTP 요청의 HTTP 헤더, 쿠키 또는 URL을 기준으로 지속성을 지원합니다. 따라서 세션 ID가 URL의 일부인 경우 애플리케이션 세션 지속성을 지원합니다. 이 프로파일은 가상 서버에 직접 연결되어 있지 않습니다. 요청 전달 및 응답 재작성에 대한 로드 밸런서 규칙을 구성할 때 이 프로파일을 지정합니다.