Перейти к содержанию

MinIO bucket notifications

Требования применяются к production-доставке MinIO bucket notifications, потеря или задержка которых нарушает обязательный бизнес-результат. Прикладная гарантия и восстановление определяются architecture:INT-HOOK-006INT-HOOK-007. Уровни обязательности определены в корневом README.md.

INF-DAT-017. Версионированная конфигурация доставки

Уровень: MUST

Применяется к: production MinIO bucket notification в области architecture:INT-HOOK-006

Управляемая конфигурация и операционный README должны фиксировать точный продукт или дистрибуцию MinIO, release, режим синхронной или асинхронной доставки, успешный HTTP-результат, timeout, число и интервалы повторов, предел очереди, её storage, сохранение при restart и поведение при переполнении.

Отсутствующая, неподдерживаемая или deprecated возможность должна быть указана явно вместе с наблюдаемым результатом отказа. Имя параметра одной версии не должно переноситься на другую версию без проверки её документации и фактической конфигурации.

Обоснование

Название MinIO и наличие retry не определяют гарантию доставки конкретного release и режима.

Проверка

  • запрос версии и фактической конфигурации target;
  • сопоставление каждого свойства с документацией зафиксированного release;
  • отказ target и restart MinIO с проверкой очереди и повторной доставки.

Исключения

Не допускаются для незафиксированной версии или неописанного поведения переполнения.

INF-DAT-018. Ёмкость и влияние отказа

Уровень: MUST

Применяется к: очереди production MinIO bucket notifications в области architecture:INT-HOOK-006

Предел очереди должен иметь численный расчёт как минимум по измеренной пиковой скорости событий, максимальному времени недоступности target, скорости опустошения backlog после восстановления и доступному storage. Достижение предела должно иметь заранее определённый результат; если оно допускает потерю, проект должен выполнять architecture:INT-HOOK-007.

Для синхронного режима должны быть измерены результат S3-операции и её задержка при недоступном target, заполнении очереди и восстановлении доставки. Для асинхронного режима наличие retry или конечной очереди не должно считаться доказательством at-least-once.

Обоснование

Конечная очередь переносит отказ target во время, но не исключает потерю или влияние на доступность S3.

Проверка

  • нагрузочный тест пиковой скорости и расчётного окна недоступности;
  • заполнение и опустошение очереди с проверкой storage и потерянных событий;
  • для синхронного режима — измерение результата и задержки S3-записи при отказе target.

Исключения

Не допускаются для непроверенного результата переполнения.

INF-DAT-019. Обнаружение задержки и потери

Уровень: MUST

Применяется к: production MinIO bucket notifications в области architecture:INT-HOOK-006

Платформа должна предоставлять сигналы, которые однозначно связываются с target и экземпляром или кластером MinIO и позволяют определить размер или заполнение очереди, неуспешную доставку, отброшенные или пропущенные события и возобновление доставки после отказа. Отсутствие ожидаемого сигнала не должно считаться нулевым числом ошибок.

Alert должен срабатывать до нарушения максимального возраста доставки или переполнения очереди и иметь численный порог, окно, владельца и runbook. Контролируемая потеря события должна обнаруживаться reconciliation-процедурой по architecture:INT-HOOK-007 в пределах её максимального интервала.

Обоснование

Недоступный target или переполненная очередь могут не изменить успешный результат асинхронной S3-операции.

Проверка

  • отключение target, restart MinIO и контролируемое переполнение очереди;
  • проверка каждого сигнала, alert и ссылки на runbook;
  • пропуск одного события и измерение времени его обнаружения reconciliation.

Исключения

Отсутствующий native-сигнал MAY заменяться синтетической проверкой или сигналом расхождения reconciliation, если замена обнаруживает тот же отказ до установленного предела.