Wiki
Инфраструктура

RPO и RTO — что это простыми словами

RPO (Recovery Point Objective) — сколько данных допустимо потерять. RTO (Recovery Time Objective) — как быстро восстановить. Основа планирования DR.

RPO (Recovery Point Objective) — максимально допустимая потеря данных, измеряется во времени. Пример: RPO = 1 час означает, что при сбое допустимо потерять последний час работы. Определяет частоту бэкапов: RPO 24 часа — ежедневный backup, RPO 5 минут — WAL-streaming.

RTO (Recovery Time Objective) — максимально допустимое время восстановления. RTO = 4 часа значит: с момента сбоя до полного возвращения сервиса должно пройти не больше 4 часов. Определяет тип решения: RTO 24 часа — вручную восстановить из бэкапа. RTO 1 час — автоматизированный runbook. RTO 30 секунд — hot-standby с автоматическим failover.

Пример реальных цифр: (1) блог на WordPress: RPO 24 ч, RTO 4 ч. Backup раз в сутки, восстанавливаем руками. (2) SaaS-биллинг: RPO 5 мин (нельзя терять транзакции), RTO 15 мин. Streaming replication + автоматический failover. (3) Банк: RPO 0, RTO 30 с. Синхронная репликация + hot-standby в другом ДЦ.

Чем меньше RPO/RTO — тем дороже решение (в разы). Определять RPO/RTO нужно до выбора архитектуры, а не после. Часто бизнес говорит "хочу RTO 0", но не готов платить €5000/мес.

Частые вопросы

Как оценить свой RPO/RTO?
Задайте вопрос: "Что случится, если потеряем 1 час / 1 день данных? Что случится, если сервис недоступен 1 час / 1 день?". Из ответа — цифра.
Managed БД помогают?
Managed Postgres (AWS RDS, Neon) — обычно RPO 5-30 сек, RTO 1-5 мин out-of-the-box. Self-hosted требует ручной настройки.

Смотрите также