Health-Based Routing (HBR) is a pipeline agent that monitors the health of the downstream canisters and can dynamically route sessions to those canisters based upon their health. HBR requires a minimum of 2 processing servers (HBR does not make sense for a single processing server) and can monitor up to a maximum of 20 processing servers.
Determining HBR Health
HBR works through Search Server, which provides the DecoupleEx status of local and remote machines.
HBR determines the processing server health by communicating with the processing server SearchServer and gets the Governor/Canister status. Processing server health is determined if the processing server is spooling, if it is not spooling HBR assumes that it can continue to take traffic for existing sessions and new sessions. If HBR determines that the processing server is spooling, then it will continue to send traffic for existing sessions (HBR tries to maintain session fidelity per canister) but will not start any new sessions for that processing server till it has recovered from its spool condition.
Canister Health is determined primarily by whether the canister is up/down as reported by the GovernorStatus command through Search Server. If the average time on queue value is more than 30 minutes, the canister is considered in an unhealthy state.
Prerequisites
CanSvcs.exe
), which should be used to start and stop these services.