Infrastructure
Небольшой срез того, с чем я работаю каждый день. Три вида на одно и то же: статус, схема связей и стек технологий.
Статус кластера, с которым я работаю прямо сейчас — примерно так это выглядело бы в собственной панели мониторинга, если бы я её сюда подключила.
postgres-primary-01
PostgreSQL 16 · primary
Принимает всю запись, пиковая нагрузка — около 3200 tps. Реплицируется на узел ниже и архивируется в backup.
postgres-replica-02
PostgreSQL 16 · streaming replica
Лаг репликации обычно держится в пределах 15-40 мс. Используется под тяжёлую аналитику, чтобы не трогать primary лишний раз.
pgbouncer
connection pooler · transaction mode
20 постоянных соединений к базе в пуле. Обычно активны 4-9, остальное — запас на пиковую нагрузку.
backup-job
pg_basebackup + WAL archiving
Последний запуск — сегодня в 03:12, занял 41 минуту. Статус жёлтый: тестовое восстановление на staging не запускалось уже 9 дней, пора проверить.
Кликните по карточке (или наведите фокус клавиатурой), чтобы увидеть подробности.
Как запрос вообще добирается до данных: от приложения через пул соединений до PostgreSQL, реплики и бэкапа.
Наведите курсор или кликните по элементу схемы, чтобы увидеть описание.
Один и тот же вопрос — «на чём это работает» — но два очень разных ответа, в зависимости от того, о какой среде речь.
То, на чём крутится продовый кластер клиента.
PostgreSQL 16
3 реплики
PgBouncer
Patroni
WAL-G
Prometheus
Grafana
Debian 12
То, на чём крутится мой домашний сервер — заметно скромнее, зато полностью мой.
PostgreSQL 16 (один узел)
Docker Compose
restic
Uptime Kuma
Ubuntu Server
один осуждающий взгляд собаки