Difference between revisions of "Layer-7 switching"
m |
|||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Introduction == | == Introduction == | ||
− | Layer-7 switching, also known as 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. | + | 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. |
== Technology == | == Technology == | ||
+ | |||
+ | 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: | ||
+ | * [[TCP Splicing]] | ||
+ | * [[TCP Handoff]] | ||
== Implementation == | == Implementation == | ||
+ | |||
+ | There are some open source implementation of layer-7 switching: | ||
+ | |||
+ | * [[KTCPVS]] - a layer-7 switching inside the Linux kernel | ||
+ | * [[TCPSP]] - a [[TCP Splicing|TCP splicing]] implementation for the Linux operating system | ||
+ | * [[TCPHA]] - a [[TCP Handoff|TCP handoff]] implementation for the Linux operating system | ||
+ | * [[L7SW]] - a layer-7 switching framework | ||
== Reference == | == Reference == |
Latest revision as of 16:42, 29 June 2007
Introduction
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.
Technology
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:
Implementation
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
Reference
"Layer-7 switching" is an load balancing related stub. You can help LVSKB by expanding it |