Icinga / icinga2

The core of our monitoring platform with a powerful configuration language and REST API.
https://icinga.com/docs/icinga2/latest
GNU General Public License v2.0
2k stars 574 forks source link

Distribute object authority by HOST name #10157

Open Al2Klimov opened 2 weeks ago

Al2Klimov commented 2 weeks ago

Currently, we hash the full name of each object and decide by % 2 which endpoint is responsible. This can spread relatives like host->service, checkable->downtime/notification/... apart, so that theoretically each thing, eg. trigger a notification, only happens after a cluster message makes if from node A to B. Greetings to lags and message loss!

If ApiListener::UpdateObjectAuthority() would hash not the whole name, but only the part up to the first !, everything under a host would be processed on the same node, reducing latency and making stuff more robust.

Idea (c) @julianbrost ref/IP/52571