У меня кластер Консул из 3 серверов. Я установил файл конфигурации часов для ключевого префикса (см. Ниже). Я развернул часы на каждом из файлов моего сервера.
Я развернул часы на папке конфигурации каждого из серверов, чтобы в случае отказа лидера часы были у следующего лидера.
Проблема, с которой я сталкиваюсь, заключается в том, что когда смена ключа запускает часы, каждый из 3 серверов запускает обработчик. Таким образом, выполняется 3 вызова POST для службы обработчика.
Как сделать так, чтобы вызывалось только одно событие обработчика? Желательно от лидера кластера. Или есть способ включить отслеживание только на конкретном экземпляре сервера?
Альтернатива, о которой я подумал, - это создать обработчик сценария и с помощью проверки сценария проверить, работает ли он на лидере. Если это так, то создайте HTTP-вызов вручную.
{
"watches": [{
"type": "keyprefix",
"prefix": "port-list/",
"handler_type": "http",
"http_handler_config": {
"path": "http://XX.XX.XX.XX:XXXX/alert",
"method": "POST",
"header": {
"x-foo": ["bar", "baz"]
},
"timeout": "10s",
"tls_skip_verify": false
}
}
]
}