Layer-7 switching, also known as layer-7 load balancing or application-level load balancing, is to parse requests in the application layer and distribute requests to servers based on different types of request contents, so that it can provide quality of service requirements for different types of contents and improve overall cluster performance.
The layer-7 switching can be implemented either in kernel space or in user space.
If the layer-7 switching is implemented in kernel space, its performance is relatively good because there is no overhead of context switching and memory copying between kernel space and user space. However, the implementation of layer-7 switching might be more complicated.
If the layer-7 switching is implemented in user space, the implementation might be easier, it can have more flexibility. Once the sufficient information is parsed from request to make routing decision, some technologies can be used to speed up data relay between client and server:
There are some open source implementation of layer-7 switching:
- KTCPVS - a layer-7 switching inside the Linux kernel
- TCPSP - a TCP splicing implementation for the Linux operating system
- TCPHA - a TCP handoff implementation for the Linux operating system
- L7SW - a layer-7 switching framework
|"Layer-7 switching" is an load balancing related stub. You can help LVSKB by expanding it