Endpoint usage
Endpoint usage¶
Sensaru Cloud is designed to support unlimited number of endpoints without single point of failure. So there is not a single endpoint URL. This means, somehow an endpoint URL needs to be selected. Sensaru Cloud differentiates two types of endpoints: Seed servers and resource servers. Seed servers are used to request the list of available resource servers.
Requesting resource servers from seed servers¶
The list of seed servers is predefined for example in a configuration file or through an environment variable. It is required, that at least one of the seed servers is available. To request the resource servers, randomly query one of the seed servers. When one seed server is unavailable, the next seed server is tried. When all seed servers are unavailable, an error message must be displayed.
Resource server handling¶
When sending a request to a resource server, the resource server must be selected randomly from the list. When a resource server is unavailable, it is removed from the list and the next one is tried. When the list or resource servers is empty, it must be rerequested from the seed servers. When the list of resource servers is empty the second time, an error message must be displayed. This is to prevent an endless loop. Probably the request times out before that.
In addition the list of resource servers must be updated in regular intervals - e. g. every 10 minutes. For this update, do not query the seed servers if possible. Use one of the resource server for the update query instead.