A method of routing data from a client through one or more load-balancing
routers to a selected load-balanced server among a plurality of servers
in a network involves: receiving, at a load balancing node in a path from
the client to the plurality of servers, a first packet of a request from
a client; creating and storing a mapping of flow identifying information,
associated with the first packet, to a client stickiness identifier;
pushing the client stickiness label into a sending path list that is
stored in association with the first packet; storing the client
stickiness label in a mapping of client stickiness labels to server
identifiers at a last load balancing node associated with the plurality
of servers, wherein the mapping associates the client stickiness label
with a server identifier that uniquely identifies a selected server that
has been selected from among the plurality of servers to receive the
client request; and forwarding all subsequent packets associated with the
client request to the same selected server based on looking up the client
stickiness label of such subsequent packets in the mapping. As a result,
packet flows are rapidly routed from the same client to the same server
without time-consuming hop-by-hop routing decisions or repeated
load-balancing decisions.