Senzoukria · Глоссарий

Heartbeat

Heartbeat — это небольшое сообщение, которым клиент и сервер обмениваются с согласованным интервалом, чтобы доказать, что соединение живо, когда другого трафика нет. Если heartbeat прекращаются, другая сторона считает соединение мёртвым и закрывает его, а для торговых соединений это способно вызвать ещё и снятие рабочих заявок.

Обновлено: сентябрь 2026Опубликовано: 8 октября 2026 г.

На этой странице
  1. Зачем они нужны соединениям
  2. Как работает интервал
  3. Расчёт на примере
  4. В Senzoukria
  5. Частые ошибки
  6. См. также
  7. В этом же разделе
  8. Источники
  9. Эта страница на других языках
  10. Частые вопросы

Зачем они нужны соединениям

Сетевое соединение способно умереть молча: маршрутизатор его сбросил, ноутбук уснул, межсетевой экран о нём забыл. Без трафика ни одна сторона этого не замечает. Heartbeat создают трафик по расписанию, поэтому тишина дольше расписания становится надёжным признаком отказа, а не тихого рынка.

Как работает интервал

  • Интервал обычно диктует сервер при входе.
  • Клиент обязан отправлять не реже этого; отправлять чаще безопасно, реже — означает закрытие сессии.
  • В протоколах в стиле FIX пропущенный heartbeat вызывает тестовый запрос; отсутствие ответа в течение ещё одного интервала закрывает соединение.
  • Отмена при разрыве связи на CME использует ровно эту логику на сессиях ввода заявок.

Расчёт на примере

Шлюз просит heartbeat каждые 60 секунд и сбрасывает сессию примерно через один пропущенный интервал. У клиента, который отправляет с интервалом 60 секунд, запас равен нулю; задержанный из-за занятого момента способен быть выкинут. Сторож, который поднимает предупреждение после 5 минут без единого кадра, соответствует 300 / 60 = 5 пропущенным интервалам — далеко за пределами любого объяснения тихим рынком.

В Senzoukria

После входа в Rithmic приложение запускает задачу heartbeat, которая отправляет запрос heartbeat протокола с тем интервалом, который шлюз вернул в ответе на вход, округляя вверх до минимум одной секунды, потому что отправлять быстрее запрошенного всегда безопасно, а отправлять медленнее — именно то, из-за чего сессию сбрасывают. Задача останавливается раньше читателя при отключении. Для плантов PnL и заявок отдельный сторож пишет предупреждение, когда ни одного кадра не приходило пять минут, а читатель всё ещё заявляет, что жив, — не чаще раза в минуту.

Частые ошибки

  • Читать отсутствующий heartbeat как тихий рынок.
  • Усыплять компьютер или сетевой адаптер во время сессии и ждать, что соединение выживет.
  • Считать, что heartbeat доказывает поток данных; он доказывает только, что сессия жива.

В этом же разделе

Источники

Эта страница на других языках

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

Означает ли heartbeat, что мои данные живые?
Нет. Он доказывает, что сессия открыта и обе стороны отвечают. Рыночные данные всё равно способны остановиться по другим причинам, например из-за проблемы с правами или остановки торгов, тогда как heartbeat продолжаются.
Что будет, если моя платформа пропустит heartbeat?
Сервер закроет сессию. Платформе придётся переподключиться и войти заново, а в зависимости от сервиса рабочие заявки могут быть сняты механизмом отмены при разрыве связи.
NEXT

Что почитать дальше