Изменение в межтабличном порядке сообщений WebSocket

Оригинал объявления API

В 01:00 UTC 21 апреля 2020 года (вторник) BitMEX начнет перевод инфраструктуры внутренних потоков данных на новую версию со значительно улучшенными параметрами задержки, в особенности на 75, 80 и 95 процентилях. 

Это наше четвертое большое обновление системы; все предыдущие большие обновления сохраняли совместимость между версиями, без необходимости в изменениях, видимых для пользователей.

BitMEX предоставляет подписку на различные таблицы с помощью одного соединения WebSocket. При том, что сообщения в рамках одной таблицы следуют в предсказуемом порядке, будучи генерируемыми торговым движком и API, BitMEX никогда не гарантировала порядок сообщений между таблицами. Например, если вы выполняете сделку, пользуясь наличной ликвидностью, не гарантируется, какое именно сообщение tradeinstrumentpositionexecution, или margin будет получено первым.

При этом, в третьем большом обновлении, постепенно внедренном, начиная с 1 августа 2019 г. по 8 августа 2019 г. и используемом сегодня, межтабличный порядок был относительно предсказуем. Так было не все время до данного обновления. Нам известно, что ряд пользователей стали полагаться на предсказуемый порядок. Мы никогда не гарантировали этот порядок и не предлагали пользователям полагаться на него, вместо этого предлагая разрабатывать программы, основывающие свою работу на основе событий и использующие все доступные данные в порядке их получения.

Когда обновление начнет действовать 21 апреля, полагаться на определенный межтабличный порядок будет более невозможно, так как таблицы начнут обрабатываться независимыми модулями, публикующими информацию сразу по окончании обработки. В результате этого значения задержки “длинного хвоста” (long-tail latency) будут значительно улучшены.

24 марта Testnet BitMEX уже перешла на инфраструктуру следующего поколения. Если вы хотите протестировать свои существующие программы, пожалуйста, установите соединение с Testnet.