Интерфейс программирования¶
Основа — https://api.metroskop.petproj.ru. Ответы в JSON, кодировка UTF-8,
авторизация не требуется. Все запросы, кроме управления сценариями, читающие.
Схема сети¶
Геометрия сети: линии, их цвета, упорядоченные станции с координатами и перегоны с временем хода. Ответ большой (около 400 КБ) и меняется только при пересборке справочника, поэтому отдаётся с заголовком кеширования на сутки.
Положение составов¶
Мгновенный снимок: где каждый состав находится на текущую секунду модельного времени.
{
"modelTime": "2026-08-19T13:16:40.941797486Z",
"period": "вечерний час пик",
"serviceOpen": true,
"demoMode": false,
"trains": [
{
"id": "1-0",
"line": "1",
"lat": 55.67831,
"lon": 37.50782,
"bearing": 45.0,
"progress": 0.067,
"dwelling": false,
"from": "Проспект Вернадского",
"to": "Университет"
}
]
}
Поле progress — доля пройденного перегона, bearing — направление движения в
градусах: по ним карта плавно доводит состав между кадрами. dwelling означает
стоянку на станции.
Поток обновлений¶
Тот же снимок, но раз в секунду и в виде потока событий. Событие называется
snapshot. Именно этим каналом живёт карта.
Сжатие для этого адреса отключено намеренно: буферизация задерживала бы кадры. Подробнее — решение 0007.
Состояние сервиса¶
Сводка для интерфейса: модельное время, период суток, число составов, открытые и просроченные обращения, состояние сценариев отказов и версия запущенного образа.
Обращения жителей¶
Последние обращения и сводная статистика: сколько открыто, сколько просрочено, какая доля закрывается в срок.
Сценарии отказов¶
POST /api/chaos/memory-leak
POST /api/chaos/slow-responses
POST /api/chaos/rush-hour
POST /api/chaos/load
POST /api/chaos/reset
Включают сценарии, описанные в разделе сценарии отказов. Ответ содержит признак принятия, пояснение и время автоматического выключения:
{
"accepted": true,
"message": "Утечка памяти включена, автоматическое выключение через 10 минут",
"autoResetAt": "2026-08-19T13:34:05Z"
}
Ограничение — двенадцать запусков в минуту на весь стенд. При превышении приходит ответ с кодом 429.
Служебные адреса¶
Проверки живости и готовности используются самим Kubernetes; метрики забирает Prometheus. Остальные точки Actuator намеренно не открыты: наружу выставлено только то, что нужно платформе.