Just a second...

Load balancers

We recommend that you use load balancers in your Diffusion™ solution.

Why use load balancers?

Balancing client traffic across multiple Diffusion servers
Distribute incoming requests from clients fairly over the Diffusion servers in your solution and ensure that all traffic for a specific client is routed to the same Diffusion server.
Compositing URL spaces
If your Diffusion servers are located at a different URL to the Diffusion browser clients hosted by your web servers, you can use a load balancer to composite the URL spaces. This enables Diffusion solutions to interoperate with browser security.
At the top of the image blue lines representing client requests come in. These client requests pass into a grey rectangle labelled 'load balancer'. A note nearby says 'Configure the load balancer to use sticky IP addresses'. From the load balancer, part of the client request is routed on to a set of three grey server icons on the left labelled 'Domain web servers (web.example.com)'. From the load balancer, part of the client request is routed to one of two blue server icons on the right labelled 'Diffusion secondary servers'. A note nearby says 'Diffusion servers handle client connections'. These Diffusion secondary servers are connected to another blue server icon below labelled 'Diffusion primary server (diffusion.example.com)'.
Secure Sockets Layer (SSL) offloading
Diffusion clients can connect to your solution using Transport Layer Security (TLS) or SSL. The TLS/SSL can terminate at your load balancer or at your Diffusion server. Terminating the TLS at the load balancer reduces CPU cost on your Diffusion servers.

Considerations when using load balancers

Do not use connection pooling for connections between the load balancer and the Diffusion server. If multiple client connections are multiplexed through a single server-side connection, this can cause client connections to be prematurely closed.

In Diffusion, a client is associated with a single TCP/HTTP connection for the lifetime of that connection. If a Diffusion server closes a client, the connection is also closed. Diffusion makes no distinction between a single client connection and a multiplexed connection, so when a client sharing a multiplexed connection closes, the connection between the load balancer and Diffusion is closed, and subsequently all of the client-side connections multiplexed through that server-side connection are closed.

Multiple users masquerading behind a proxy or access point can have the same IP address, and all requests from clients with that IP address are routed to the same Diffusion instance. Load balancing still occurs, but some hosts might be unfairly loaded.