Server Evaluation Rules
The rules by which the server is determined encompass the prioritized list of servers specified in the application’s configuration, whether a service instance is synchronized, the Alternate status of a service instance and the Sticky status of a service instance.
Note that, in the rules that follow, the phrase "available service instance" means that a service instance has been registered and, if necessary, synchronized.
- When a service registers with RPC Manager, it defaults to having its Alternate status clear. The prioritized list of severs is read from the application’s configuration.
- If a service instance sets itself into Alternate status the next available service instance that is not Alternate, down the prioritized list, is selected as the server for that service.
- If all the service instances are in Alternate status, they are all forced out of Alternate status, except the service instance that was the most recent server, which remains in Alternate status. The highest priority available service instance is selected as the server.
- If a service instance clears its Alternate status (or has it forcibly cleared by 3) then it is selected as the server only if there are no higher priority service instances available.
- If there are no available service instances, the highest priority registered, but not synchronized, service instance is selected as the server.
- If the selected server is not the current server and the current server is not a "sticky" server, the current server is demoted from server status.
- The selected server is promoted to be the current server.
- If there is only one server on the prioritized list for the service, neither Alternate status nor Sticky has any effect.