Hello,
I have started reading the code ! Really interresting, I have started
working with an application stickyness solution for LVS ie: Apply
persistent connection based on a cookie value for example (in HTTP header
or a simple cookie url for IIS for example that deplace cookie string value
into the url on browser that deny cookies), I think your code is a very
nice begining for the application content switching. I will try to spend
more time on it.
Best regards,
Alexandre
At 22:45 08/05/2001 +0800, you wrote:
Hi,
I want to release ktcpvs version 0.0.1. It is available at
http://linux-vs.org/software/ktcpvs/ktcpvs-0.0.1.tar.gz.
KTCPVS stands for Kernel TCP Virtual Server. It implements
application-level load balancing inside the Linux kernel, so called
Layer-7 switching. Since the overhead of layer-7 switching in user-space
is very high, it is good to implement it inside the kernel in order to
avoid the overhead of context switching and memory copying between
user-space and kernel-space. Although the scalability of KTCPVS is lower
than that of IPVS (IP Virtual Server), it is flexible, because the content
of request is known before the request is redirected to one server.
I have to warn you that this is very very draft code, which I wrote last
May in order to prove the concept. However, I had touched this code for
near one year, but I don't want it to see that it becomes garbage, so I
release this very very draft code, in order to push myself get time to
work on it. :)) There are a lot of work to do, such as interface redesign,
the correct way to handle requests in the kernel, locking, logging,
comparing the server architecture (which one is good, apache-like
architecture or event-driven architecture). If you are interested in the
development, you are very welcome, hopefully we will make it a useful one
in the near future.
Here are some simple commands to test this ktcpvs:
su -
cd ~wensong/ktcpvs
make install
insmod tcp_vs_wlc.o
userspace/tcpvsadm -A -i http -s wlc
userspace/tcpvsadm -a -i http -r <real_server>:80
echo 1 > /proc/sys/net/ktcpvs/http/start
lynx http://localhost:8080/
To stop it,
echo 1 > /proc/sys/net/ktcpvs/http/stop
echo 1 > /proc/sys/net/ktcpvs/unload
rmmod tcp_vs_wlc
rmmod ktcpvs
your comments are very welcome!
Thanks,
Wensong
_______________________________________________
LinuxVirtualServer.org mailing list - lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Send requests to lvs-users-request@xxxxxxxxxxxxxxxxxxxxxx
or go to http://www.in-addr.de/mailman/listinfo/lvs-users
|