KTCPVS CHTTP

From LVSKB
Revision as of 01:26, 4 June 2005 by Wensong (Talk | contribs) (Scenarios)

Jump to: navigation, search

Introduction

CHTTP is a KTCPVS content-based scheduling module for cookie-based HTTP service. It supports both persistent HTTP and HTTP State Management Mechanism.

CHTTP scheduler will parse header of every http request received and extract session information in it, then select the right backend server with session information, and redirect the http message to the server. If there is no such a session, CHTTP will direct request to a backend server according to content-based scheduling rules. When the backend server starts a session, CHTTP will inject a session cookie in the response to the client, so that any further requests from the client will be sent to the backend server for this session.

Architecture

The following diagram depicts the functional model for CHTTP.

HTTP transfer engine is responsible to read http lines from client socket and relay http data between HTTP client and backend server.

HTTP parser engine implements a simple HTTP parser. It parses http request lines, http status lines, http mime headers, and store parsed information in http requests or http responses.

Session manager is used to support HTTP state management mechanism. It stores the cookies received from backend servers and maintains session table and cookie table for HTTP clients and backend servers.

Scheduler is the core component of CHTTP. It coordinates other components. Scheduler reads http request header through HTTP transfer engine, parses it by HTTP parser engine, and gets session information from session manager. Finally, it directs the http request to a backend server. After processing http request, Scheduler reads http response from the backend server, and returns http response to the original client.

Scenarios

The section describes how CHTTP works in the different scenarios.

HTTP request without session information

Server starting a session

HTTP request with session information