Порог истечения контролирует время продления, в которое продлевается аренда.
Например: мне кажется довольно ясным, что если срок аренды составляет 10 минут, и если порог истечения устанавливается на 1 минуту, затем через 9 минут после получения аренды Spring-Cloud-Vault возобновит аренду.
Ваше понимание верно.
Что насчет min-renewal
?
Если оставшееся время действия вашего договора аренды составляет менее 1 минуты (скажем, 30 секунд), тогда расчетное время обновления будет составлять 30 секунд в прошлом (или сейчас, так как мы не можем запланировать события в прошлое). min-renewal
помогает отменить запросы на обновление. Это потому, что в таком сценарии refre sh происходит немедленно.
После продления SecretLeaseContainer
планирует последующее продление, согласно которому срок аренды будет чуть менее 30 секунд. Мы не хотим создавать al oop, который забивает ваш сервер Vault запросами на обновление, если оставшийся срок аренды меньше expiry-threshold
.
Пример:
expiry-threshold
: 60 секунд min-renewal
: 10 секунд
Следующий список событий показывает с временной корреляцией, что происходит, в то время как TTL является окончательным и не может быть продлен:
- 10: 00: 00 Аренда получена. TTL 10 минут (600 секунд). График продления аренды за 9 минут (
10 minutes TTL - 1 minute
Порог истечения -> 9 minutes
) - 10: 09: 00 Аренда продлена. Оставшийся TTL 1 минута (60 секунд). Запланируйте продление аренды на 10 секунд (
1 minute TTL - 1 minute
порог истечения -> 0 минут. Возвратитесь к 10 seconds
минутному продлению, так как это большее значение -> 10 seconds
). - 10: 09: 10 Аренда продлена. Оставшиеся ТТЛ 50 секунд. Запланируйте продление аренды на 10 секунд (
50 seconds TTL - 1 minute
Порог истечения -> -10 seconds
. Откатитесь на 10 секунд с минимальным продлением, так как это большее значение -> 10 секунд). - (продолжайте до достижения
10 seconds
) - 10: 09: 50 Аренда возобновлена. Оставшийся TTL меньше
10 seconds
. Минимальное продление больше, чем у оставшихся TTL, и срок аренды считается истекшим.
Пример, когда порог истечения больше, чем минимальное продление:
expiry-threshold
: 5 минуты (180 секунд) min-renewal
: 6 минут (360 секунд)
Следующий список событий показывает с временной корреляцией, что происходит, в какое время при условии, что TTL является окончательным и не может быть продлен:
10: 00: 00 Аренда получена. TTL 10 minutes
(600 секунд). Запланируйте продление аренды на 6 минут (10 minutes TTL - 5 minute
Порог истечения -> 5 minutes
. Минимальное продление установлено на 6 минут для выдачи продления не более одного раза в 6 minutes
-> 6 minutes
)
10: 06: 00 Аренда получена. TTL 4 minutes
(360 секунд). Запланируйте продление аренды через 6 минут (4 minutes TTL - 5 minute
Порог истечения -> -1 minutes
. 6 minutes
минутное продление, поскольку это больше, чем оставшиеся TTL, поэтому срок аренды считается истекшим)