Hello everyone,
I am interested in how load balaning handles Http user session. For example, suppose the amazon's online shopping application, thousands of backend servers.
Load balancer could keep the same user session on the same Http backend server, so that user shopping chart only resides on one server which the user initialially connects to, no need to keep shopping chart replicated on both servers. (I remember this feature called session affinity.)
How could load balancer recognize user session automatically? Any Http field indicate user session concept? I think there should be a general way to identify a user session, no need to program on load balancer to let load balancer know how to differentiate a user xession for different application -- since differnet web application may have different ways to identify session concept.
thanks in advance,
George
George GeorgePosted Jan 4, 2009, 3:56 AM
Thanks Abhishek Dhanotia,
I learned something more these days.
1.
I think most solution is IP affinity based, i.e. the request from the same IP will be handled by the same host to solve session issue. Suppose a scenario when a large number of clients are coming from the same IP (they access my web server through proxy server). For some other clients, they access the network individually. If this scenario, if the proxy IP is targetted to one single server, I think the network traffic is not trully balanced -- since traffic from the proxy IP is especially larger. Any comments or ideas for this issue?
Is the solution you mentioned which is using server generated ticket could solve this issue -- which is not IP affinity, but client affinity?
2.
I learned something more from,
http://technet.microsoft.com/en-us/library/cc756878.aspx
I have one more question about the network load balancing architecture, in a server cluster, all cluster nodes/hosts share a single virtual IP. I am wondering how could it be implemented? My confusion is, if more than one server have the same IP address, there will be IP address conflicting.
regards,
George
Abhishek DhanotiaPosted Jan 2, 2009, 4:50 AM
Session Mechanism: assume that there are two application hosted in ur webserver. So whenever a client machine wants to access any application among them, the server generate a ticket to tah perticular client with respect to the application.
So whenever a request will come to server from client then server will detect the ticket and process the request.
:-)