Techniques are described herein for using different constraints and electing a leader based on those constraints. This may help to fairly distribute services among different leader-capable nodes. The constraints may include resources such as Central Processing Units (CPUs), memory, bandwidth, network forwarding resources, etc. For example, compute-intensive applications may require more CPU resources, whereas some applications (e.g., logging) may require more memory. The constraint may also be a combination of multiple resources, such as a log collector analysis service.

Creative Commons License

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.