Network Load Balancing and stateful connections

Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2

Network Load Balancing and stateful connections

Application servers maintain two kinds of stateful connections:

  • Interclient state: A state whose updates must be synchronized with transactions performed for other clients, such as merchandise inventory at an e-commerce site.

  • Intraclient state: A state that must be maintained for a given client throughout a session (that can span multiple connections), such as a shopping cart process at an e-commerce site.

Network Load Balancing should not be used to scale applications that directly update interclient state, such as Microsoft SQL Server, because these applications generally were not designed to permit multiple instances to simultaneously access a shared database and synchronize updates. Instead, Network Load Balancing should be used to scale stateless front-end services, such as Microsoft Internet Information Services, that might access a shared back-end database server.

However, Network Load Balancing can be used to scale applications that manage intraclient state within a session that spans multiple connections. When client affinity is enabled, Network Load Balancing directs all TCP connections to the same cluster host. This allows session state to be maintained in host memory. Client/server applications that embed state within cookies or push it to a back-end database do not need client affinity to be maintained.