Wensong Zhang <wensong@xxxxxxxxxxxx> said:
> This is a feature that I want to implement, called application-based
> scheduling. Michael and I used to talk about this to use LVS to
> implement content-based switching in proxy cluster. However, it is
> not easy to implement. The kernel must have architecture to copy
> packets to user-space and copy back, and the servers(and its kernel)
> must be changed so that established connections can be transparently
> migrated to the servers.
I think the real servers SHOULD NOT require a special modified kernel, since
they may not be running Linux.
The kernel on the LVS needs to replay the connection establishment to the real
server who should never notice that anything went wrong. After the replay, it
is "just" basic NAT, fiddling with the packets on the way out again (changing
the source address, adjusting the TCP sequence number etc).
> I don't think it is relavant to the problem of T-Online.
Well, partly. It could be used to use the X-Forwarded-For header instead of
the src IP of the packet to implement the session persistence, effectively
working around the non-persistent cache cluster of T-Online/AOL etc.
Of course, application level scheduling is a way more powerful tool than just
teuto.net Netzdienste GmbH