You can configure a load balancer for multiple pull relay servers (both legacy and DotNetCore) by setting session persistence.
Relay servers process requests for content. When the number of requests exceed what a single server can handle, the solution is multiple relay servers. A load balancer can be used to distribute the load across multiple pull relay servers, for both legacy and DotNetCore pull services.
You must configure the load balancer with session persistence, ensuring that the same relay server receives each endpoint call per content request. If session persistence is not configured on the load balancer, subsequent requests that are routed to another relay server can result in a File-Not-Found error.
The following endpoints are called from the pull service to retrieve content.
- GetNextManifest, retrieves the file metadata which the client must download.
- GetFileInfoEx, retrieves the file-hash which is used to determine whether the file is already downloaded.
- GetFileData, downloads the actual content.
Since the file is downloaded locally to the server where Content-pull is running, you must configure the Load Balancer to have session persistence (IP based) to route all three endpoints to the same relay server.