Я ищу масштабируемую замену «на» с высокой доступностью. Он должен поддерживать добавление и удаление заданий во время выполнения.Ищете масштабируемую реализацию «на»
Немного фона: У меня есть приложение, в котором я запускаю миллионы событий, каждое событие происходит только один раз. Мне не нужны механизмы типа cron (первое воскресенье месяца и т. Д.), Просто дата, время и контекст.
В настоящее время я использую Quartz scheduler, и хотя это очень хороший проект, у него есть трудности с обработкой количества событий, которые мы бросаем на него, даже после многократной настройки (осколки, увеличение интервала опроса и т. Д.).) из-за базовой блокировки, выполняемой в базе данных подчеркивания. Кроме того, для нас это немного утомительно, поскольку в основном у нас есть миллионы одноразовых триггеров и относительно небольшое количество рабочих мест.
Я ценю любое предложение
Каковы ваши требования вокруг отказа? Например, если машина опускается, вы хотите, чтобы «пропущенные» события срабатывали при появлении замены? –
Да, аналогично кварцу. Кроме того, я запускаю Quartz в кластере, поэтому всегда есть теплое ожидание машины (в Quartz все узлы конкурируют каждый раз, когда им нужно опросить БД для заданий) –
Мне просто интересно, как просто мы могли бы сделать вещи * без * кварца. Однако, если каждая работа должна быть признана, это делает ее более сложной. Каков штраф, если работа выполняется дважды? (Например, вы могли бы подтвердить все задания, выполненные в последнюю минуту, раз в минуту?) –