Эксплуатация
Запуск AACsearch в проде — реиндекс, мониторинг, лимиты, инциденты, эскалация саппорту.
Эксплуатация
Этот раздел — для оператора на смене. Если интегрируете AACsearch из приложения — вероятно, вам нужны Search API или SDKs. Если что-то горит — сразу в Troubleshooting.
С чего начать
| Если нужно… | Идите в |
|---|---|
| Понять, что меняется при реиндексе | Реиндексирование |
| Узнать, здоров ли AACsearch прямо сейчас | Статус и инциденты |
| Что мы бэкапим и как восстановить | Бэкапы и retention |
| Подключить метрики AACsearch к своему observability | Мониторинг |
| Понять 429 и заранее заложить запас | Лимиты и квоты |
| Диагностировать конкретный сбой | Troubleshooting |
| Открыть тикет, который не отскочит обратно | Эскалация саппорту |
Операционная модель одной схемой
┌──────────────────────────────────────────────────────────────────────────┐
│ CLIENT EDGE │
│ Браузер / мобайл / коннектор ──► search.aacsearch.com (Hono + oRPC) │
└──────────────────────────────────────────────────────────────────────────┘
│
┌─────────────────────────┼──────────────────────────┐
▼ ▼ ▼
AUTH & RATE LIMIT INGEST BUFFER SEARCH CLUSTER
- хэш ключа - очередь в PostgreSQL - Typesense
- проверка Origin - воркер флашит - алиасы версий
- бакет на ключ - retry на ошибке - alias-swap reindex
│ │ │
└──── audit log ──────────┴──── analytics ───────────┘
▼
POSTGRESQL (регион хранения)
│
▼
BACKUPS (WAL-G → S3, encrypted)Три вещи запомнить:
-
Записи не идут напрямую в движок. Публичные записи попадают в
SearchIngestBufferв PostgreSQL. Воркер забирает и флашит в Typesense. Если Typesense недоступен — строка остаётся сfailedAtи ретраится. Это Инвариант 2 — см.agents.md. -
Реиндекс — alias-swap, не in-place. Создаём новую физическую коллекцию (
org_abc__products__v4), наполняем и атомарно переключаем алиас. Половинного индекса не видит ни один запрос. См. Реиндексирование. -
Rate limit на ключ, не на IP. 429 — это переполнение бакета ключа, не вашего IP. См. Лимиты.
SLO
SLO общего кластера — 99.9 % доступность поисковых запросов в календарный месяц, по синтетическим probes минимум из трёх географий на регион. PostgreSQL бэкапим непрерывно (WAL-G), Typesense — снапшоты каждые 6 часов. Цель RTO — 1 час, RPO — 15 минут.
Enterprise-клиенты согласовывают более жёсткие SLO под выделенный кластер — см. Dedicated cluster.
Двухминутный health-check
До открытия тикета прогоните цикл:
- Откройте status.aacsearch.com — есть инцидент по вашему региону?
- В дашборде Project → Indexes: значки health — зелёные/жёлтые/красные? Жёлтый = лаг ingest или error-rate выше порога; красный = drift > 5 %. См. Мониторинг.
- Dashboard → Diagnostics: последний flush несёт ошибку?
- Если на нашей стороне всё чисто — снимите request id из своих логов и откройте тикет по эскалации.
Этот цикл закрывает большинство тикетов без ожидания обеих сторон.
См. также
- DR runbook — процедура восстановления нашей инфраструктуры
- Обзор безопасности — контроли, на которые ссылается этот раздел
- Enterprise — когда нужен кастомный SLA или выделенная инфраструктура