| The Virtual Server KTCPVS implements the application level load balancing inside the Linux kernel, it is also called the layer-7 balancing. The overall load of the layer-7 balancing in the user-space is relative high, it is a good practice to implement it in the Linux kernel to avoid context switching and copying memory data from the kernel space to the user space, or vis versa. In this paper, the concepts of the high available, the network switching, layer-7 switch are introduced. Also, the strategies of switching, the full-copy switching and the relay switching are compared, the relay switching mode is finalized in this project. Next, the virtual server KTCPVS including the kernel module and the scheduler are analyzed in detail. Base on the above, this project enhanced the kernel module of the virtual server and the scheduler used when balancing the request to achieve the high availability. To verify the high availability of the project, the functional test and the stress test are also conducted. |