TTL-блокировка истекла: как fencing token останавливает старый воркер
На безопасной модели показываем, почему истечение аренды не останавливает старый процесс и как монотонный fencing token не даёт ему перезаписать результат нового владельца.
Аккаунт в General iT
Войдите или создайте аккаунт для управления услугами в личном кабинете.
Страны не найдены. Попробуйте другое название или код.
Полезные приёмы и проверенные решения для Linux, серверов и сайтов.
На безопасной модели показываем, почему истечение аренды не останавливает старый процесс и как монотонный fencing token не даёт ему перезаписать результат нового владельца.
Проверяем каждый элемент пакетного ответа: обнаруживаем пропущенный результат, не повторяем успешные SKU и безопасно возобновляем только временно неудавшуюся операцию.
Практическое руководство по circuit breaker: три технических сбоя открывают цепь, запросы перестают доходить до внешнего API, неудачная проба продлевает паузу, а успешная возвращает обычный режим.
Разбираем replay-атаку на корректно подписанный webhook: подписываем timestamp и nonce, проверяем временное окно и показываем, почему локальная память воркера теряет защиту после перезапуска.
На детерминированной модели сравниваем локальные и общий token bucket: два воркера получают четыре ответа 429, а единый лимитер распределяет восемь запросов без превышения.
На проверяемой модели сравниваем изменение количества товара и запись его абсолютного значения. Один operation_id не даёт повторно применить ту же команду, а проверка версии отклоняет старый снимок после нового движения товара.
На изолированной SQLite-модели проверяем лимит повторов, перенос постоянной ошибки в dead-letter queue, откат при сбое между вставкой и удалением и однократный возврат исправленного сообщения.
Разбираем transactional outbox на безопасной модели: заказ и исходящее событие фиксируются одной транзакцией, сбои до и после отправки не теряют событие, а повтор использует стабильный event_id.
Разбираем single-flight для OAuth: один запрос обновляет access token и refresh token, остальные ждут результат, а ошибка token endpoint не портит сохранённую пару.
До reload извлекаем открытый ключ из сертификата и приватного ключа, сравниваем SHA-256 и отдельно обрабатываем ошибку чтения. Проверено на OpenSSL 3.0.13: совпадение, другая пара и повреждённый файл.
Практический guide: принимаем K1 и K2 только в ограниченном окне, связываем подпись с key_id и timestamp, проверяем HMAC через compare_digest и отключаем старый ключ по результатам семи тестов.
Проверяем полный unit-кандидат через systemd-analyze verify, разбираем код возврата, опечатку в директиве, отсутствующий исполняемый файл и потерянную зависимость — без daemon-reload и запуска службы.
Практический guide для OpenSSL 3.0: различаем trust anchor и intermediate, воспроизводим ошибки 20, 2 и 62, читаем depth и отдельно проверяем DNS-имя.
Страница 1 из 6