moira
moira copied to clipboard
Make checker scalable
Процесс прихода эвентов в чекер устроен таким образом, что чекер нельзя масштабировать. В частности, некоторые кэши (например, когда в последний раз была проверка) находятся в памяти реплики.
Допустим, у нас есть триггер, по которому приходит 100 метрик. Интервал чека выставлен в 30 секунд. По этой логике чекер не должен чекать один триггер больше двух раз в минуту. При трех репликах чекера проверка может произойти 6 раз (по 2 на каждой реплике).
Хочется иметь общую точку синхронизации для кэша - например, редис. Проблема в том, чтобы не завалить редис тонной запросов.