build 039: complete Quotes Feed migration foundation

This commit is contained in:
2026-07-14 09:58:16 +03:00
parent 26deb861bc
commit 7b62873832
443 changed files with 80452 additions and 1335 deletions

View File

@@ -0,0 +1,261 @@
# Market Intelligence REST Research Standard
## Контроль документа
| Свойство | Значение |
|----------|----------|
| Документ | Market Intelligence REST Research Standard |
| Тип документа | Engineering Standard |
| Версия | 1.0 |
| Статус | Release |
| Проект | Dzentra |
| Подсистема | Market Intelligence |
| Язык | Русский |
---
# Назначение
Настоящий документ определяет единый стандарт исследования REST-источников рыночной информации.
Настоящий стандарт применяется совместно с документом:
> **Market Intelligence Research Methodology**
Методология определяет общий процесс проведения исследований.
Настоящий документ определяет перечень исследований, выполняемых для REST endpoint.
---
# Область применения
Настоящий стандарт применяется при исследовании REST endpoint, возвращающих рыночную информацию.
Примеры:
- `/api/v1/time`;
- `/api/v1/exchangeInfo`;
- `/api/v1/depth`;
- `/api/v1/ticker/24hr`;
- `/api/v1/aggTrades`;
- `/api/v1/klines`.
---
# Цель исследования
Для каждого REST endpoint необходимо определить:
- какие информационные факты предоставляет endpoint;
- какие параметры влияют на ответ;
- является ли ответ снимком состояния;
- насколько актуальны получаемые данные;
- как данные связаны с другими источниками;
- каким образом endpoint может использоваться подсистемой Market Intelligence.
---
# 1. Исследование endpoint
## 1.1 Назначение endpoint
Определить:
- [ ] официальное назначение endpoint;
- [ ] фактическое назначение по результатам исследования;
- [ ] тип возвращаемой информации;
- [ ] относится ли endpoint к Market Intelligence.
---
## 1.2 Параметры запроса
Для каждого параметра определить:
- [ ] имя параметра;
- [ ] тип;
- [ ] обязательность;
- [ ] допустимые значения;
- [ ] значение по умолчанию;
- [ ] влияние на ответ;
- [ ] ошибки при некорректном значении.
---
## 1.3 Формат ответа
Определить:
- [ ] тип ответа;
- [ ] структуру ответа;
- [ ] обязательные поля;
- [ ] необязательные поля;
- [ ] возможные значения;
- [ ] диапазоны значений;
- [ ] поведение при пустом результате.
---
# 2. Исследование семантики полей
Для каждого поля определить:
- [ ] фактическое назначение;
- [ ] источник происхождения;
- [ ] тип данных;
- [ ] обязательность;
- [ ] диапазон допустимых значений;
- [ ] связь с другими полями;
- [ ] ограничения использования;
- [ ] степень подтверждения семантики.
---
# 3. Исследование информационных фактов
Для каждого ответа определить:
- [ ] какие информационные факты содержит ответ;
- [ ] какие информационные факты могут быть вычислены непосредственно из ответа;
- [ ] какие информационные факты отсутствуют;
- [ ] какие факты являются первичными;
- [ ] какие факты являются производными.
---
## 3.1 Первичные информационные факты
Для каждого первичного информационного факта определить:
- [ ] endpoint;
- [ ] параметр запроса;
- [ ] поле ответа;
- [ ] степень подтверждения;
- [ ] ограничения использования.
---
## 3.2 Производные информационные факты
Для каждого производного информационного факта определить:
- [ ] формулу вычисления;
- [ ] необходимые исходные данные;
- [ ] ограничения вычисления;
- [ ] степень достоверности.
---
# 4. Исследование актуальности данных
Определить:
- [ ] является ли ответ текущим снимком состояния;
- [ ] содержит ли ответ исторические данные;
- [ ] содержит ли ответ агрегированную статистику;
- [ ] как часто обновляется ответ;
- [ ] есть ли timestamp данных;
- [ ] есть ли задержка обновления;
- [ ] можно ли использовать ответ как источник текущего состояния рынка.
---
# 5. Проверка эквивалентности
Для каждого информационного факта определить:
- [ ] существует ли аналогичный источник;
- [ ] полностью ли совпадает значение;
- [ ] совпадает ли семантика;
- [ ] совпадает ли точность;
- [ ] совпадает ли момент обновления;
- [ ] имеются ли расхождения.
---
## 5.1 Альтернативные источники
Для каждого информационного факта определить:
- [ ] WebSocket Request;
- [ ] WebSocket Stream;
- [ ] другие REST endpoint;
- [ ] внутренние вычисления.
---
## 5.2 Приоритет источников
Для каждого информационного факта определить:
- [ ] основной источник;
- [ ] резервный источник;
- [ ] допустимые альтернативы;
- [ ] причины выбора приоритетного источника.
---
# 6. Исследование поведения endpoint
Проверить:
- [ ] повторяемость ответа при одинаковом запросе;
- [ ] изменение ответа во времени;
- [ ] поведение при частых запросах;
- [ ] ограничения частоты запросов;
- [ ] ошибки при превышении лимитов;
- [ ] поведение при недоступности данных;
- [ ] поведение при несуществующем инструменте.
---
# 7. Исследование производительности
Определить:
- [ ] среднее время ответа;
- [ ] максимальное время ответа;
- [ ] минимальное время ответа;
- [ ] средний размер ответа;
- [ ] максимальный размер ответа;
- [ ] влияние параметров запроса на размер ответа;
- [ ] влияние параметров запроса на время ответа.
---
# 8. Практическая ценность
Определить:
- [ ] какие информационные факты предоставляет endpoint;
- [ ] какие факты отсутствуют;
- [ ] может ли endpoint быть основным источником;
- [ ] может ли endpoint быть резервным источником;
- [ ] какие подсистемы Dzentra потенциально могут использовать endpoint;
- [ ] ограничения использования в runtime.
---
# 9. Ограничения исследования
Определить:
- [ ] что подтверждено;
- [ ] что предварительно подтверждено;
- [ ] что осталось гипотезой;
- [ ] что опровергнуто;
- [ ] что невозможно определить данным исследованием.
---
# 10. Итоги исследования
По результатам исследования определить:
- [ ] степень пригодности endpoint;
- [ ] степень полноты исследования;
- [ ] сильные стороны;
- [ ] ограничения;
- [ ] рекомендации по использованию;
- [ ] необходимость дополнительных исследований.

View File

@@ -0,0 +1,334 @@
# Market Intelligence Stream Research Standard
## Контроль документа
| Свойство | Значение |
|----------|----------|
| Документ | Market Intelligence Stream Research Standard |
| Тип документа | Engineering Standard |
| Версия | 2.0 |
| Статус | Release |
| Проект | Dzentra |
| Подсистема | Market Intelligence |
| Язык | Русский |
---
# Назначение
Настоящий документ определяет единый стандарт исследования потоковых (Streaming) источников рыночной информации.
Настоящий стандарт применяется совместно с документом:
> **Market Intelligence Research Methodology**
Методология определяет общий процесс проведения исследований.
Настоящий документ определяет перечень исследований, выполняемых для любого потокового источника рыночной информации.
---
# Область применения
Настоящий стандарт применяется при исследовании любых потоковых источников рыночной информации независимо от:
- биржи;
- версии API;
- реализации клиента.
Примеры:
- WebSocket Stream;
- Push API;
- Market Data Feed;
- Streaming Gateway.
Настоящий стандарт **не исследует транспортный уровень** (WebSocket, TCP, TLS и т.д.).
Исследование транспортного уровня выполняется отдельным стандартом:
> **Market Intelligence WebSocket Transport Research Standard**
---
# Цель исследования
Для каждого потокового источника необходимо определить:
- какие информационные факты предоставляет поток;
- каким образом изменяются данные;
- насколько достоверны получаемые данные;
- как данные связаны с другими источниками;
- каким образом поток может использоваться подсистемой Market Intelligence.
---
# 1. Исследование подключения
## 1.1 Подключение
### 1.1.1 Корректность подключения
- [ ] корректность подключения.
#### Журнал исследования
---
### 1.1.2 Требования к соединению
- [ ] URL подключения;
- [ ] используемый транспорт (WS/WSS).
#### Журнал исследования
---
### 1.1.3 Требования к авторизации
- [ ] требуется ли авторизация;
- [ ] механизм авторизации;
- [ ] обязательные заголовки авторизации;
- [ ] возможность работы без авторизации.
#### Журнал исследования
---
## 1.2 Подписка
- [ ] формат подписки;
- [ ] подтверждение подписки;
- [ ] сообщения об ошибках;
- [ ] повторную подписку;
- [ ] подписку на несколько инструментов;
- [ ] отмену подписки;
- [ ] ограничения подписки (если документированы).
#### Журнал исследования
---
# 2. Исследование структуры потока
## 2.1 Типы сообщений
Для каждого типа сообщений определить:
- [ ] назначение;
- [ ] содержит ли рыночную информацию;
- [ ] содержит ли служебную информацию;
- [ ] содержит ли ошибки;
- [ ] содержит ли подтверждение подписки;
- [ ] содержит ли подтверждение отписки.
#### Журнал исследования
---
## 2.2 Структура сообщений
Для каждого типа сообщений определить:
- [ ] обязательные поля;
- [ ] необязательные поля;
- [ ] тип каждого поля;
- [ ] допустимые значения;
- [ ] диапазоны значений;
- [ ] ограничения.
#### Журнал исследования
---
# 3. Классификация сообщений
Для каждого типа сообщений определить:
- [ ] рыночное сообщение;
- [ ] служебное сообщение;
- [ ] сообщение управления;
- [ ] сообщение об ошибке;
- [ ] сообщение подтверждения.
#### Журнал исследования
---
# 4. Исследование семантики полей
Для каждого поля определить:
- [ ] фактическое назначение;
- [ ] источник происхождения;
- [ ] обязательность;
- [ ] изменяемость;
- [ ] диапазон допустимых значений;
- [ ] взаимосвязь с другими полями;
- [ ] ограничения использования;
- [ ] степень подтверждения семантики.
#### Журнал исследования
---
# 5. Исследование информационных фактов
Для каждого типа рыночных сообщений определить:
- [ ] какие информационные факты содержит сообщение;
- [ ] какие информационные факты могут быть вычислены непосредственно из сообщения;
- [ ] какие информационные факты отсутствуют;
- [ ] какие информационные факты являются первичными;
- [ ] какие информационные факты являются производными.
#### Журнал исследования
---
## 5.1 Первичные информационные факты
Для каждого первичного информационного факта определить:
- [ ] источник происхождения;
- [ ] поле сообщения;
- [ ] степень подтверждения;
- [ ] ограничения использования.
#### Журнал исследования
---
## 5.2 Производные информационные факты
Для каждого производного информационного факта определить:
- [ ] формулу вычисления;
- [ ] необходимые исходные данные;
- [ ] ограничения вычисления;
- [ ] степень достоверности.
#### Журнал исследования
---
# 6. Исследование поведения потока
## 6.1 Частота сообщений
Определить:
- [ ] минимальную частоту;
- [ ] максимальную частоту;
- [ ] среднюю частоту;
- [ ] пиковую частоту;
- [ ] условия изменения частоты.
#### Журнал исследования
---
## 6.2 Последовательность сообщений
Определить:
- [ ] порядок поступления сообщений;
- [ ] последовательность timestamp;
- [ ] наличие пропусков;
- [ ] наличие повторяющихся сообщений;
- [ ] возможность нарушения порядка.
#### Журнал исследования
---
## 6.3 Полнота сообщений
Определить:
- [ ] полный снимок состояния;
- [ ] инкрементальные изменения;
- [ ] смешанный режим передачи;
- [ ] обязательность всех полей;
- [ ] возможность частичных обновлений.
#### Журнал исследования
---
# 7. Исследование поведения данных
Для каждого информационного факта определить:
- [ ] условия появления;
- [ ] условия изменения;
- [ ] условия исчезновения;
- [ ] частоту изменения;
- [ ] взаимосвязь с другими фактами.
---
## Дополнительно определить
- [ ] какие факты изменяются одновременно;
- [ ] какие факты никогда не изменяются одновременно;
- [ ] какие факты являются независимыми;
- [ ] какие факты являются производными от других.
#### Журнал исследования
---
# 8. Проверка эквивалентности
Для каждого информационного факта определить:
- [ ] существует ли аналогичный источник;
- [ ] полностью ли совпадает значение;
- [ ] совпадает ли семантика;
- [ ] совпадает ли точность;
- [ ] совпадает ли момент обновления;
- [ ] имеются ли расхождения.
#### Журнал исследования
---
## 8.1 Альтернативные источники
Для каждого информационного факта определить:
- [ ] REST endpoint;
- [ ] WebSocket Request;
- [ ] другие Stream;
- [ ] внутренние вычисления.
#### Журнал исследования
---
## 8.2 Приоритет источников
Для каждого информационного факта определить:
- [ ] основной источник;
- [ ] резервный источник;
- [ ] допустимые альтернативы;
- [ ] причины выбора приоритетного источника.
#### Журнал исследования
---
# 9. Исследование производительности
Определить:
- [ ] средний размер сообщения;
- [ ] максимальный размер сообщения;
- [ ] среднюю скорость передачи;
- [ ] максимальную скорость передачи;
- [ ] объём данных в минуту;
- [ ] объём данных в час.
#### Журнал исследования

View File

@@ -0,0 +1,274 @@
# Market Intelligence WebSocket Request Research Standard
## Контроль документа
| Свойство | Значение |
|----------|----------|
| Документ | Market Intelligence WebSocket Request Research Standard |
| Тип документа | Engineering Standard |
| Версия | 1.0 |
| Статус | Release |
| Проект | Dzentra |
| Подсистема | Market Intelligence |
| Язык | Русский |
---
# Назначение
Настоящий документ определяет единый стандарт исследования источников рыночной информации, использующих модель **WebSocket Request / Response**.
Настоящий стандарт применяется совместно с документом:
> **Market Intelligence Research Methodology**
Методология определяет общий процесс проведения исследований.
Настоящий документ определяет перечень исследований, выполняемых для WebSocket Request endpoint.
---
# Область применения
Настоящий стандарт применяется при исследовании WebSocket endpoint, использующих модель "запрос → ответ".
Примеры:
- `wss:/api/v1/depth`
- `wss:/api/v1/ticker/24hr`
- `wss:/api/v1/aggTrades`
- `wss:/api/v1/klines`
- `wss:/api/v1/time`
- `wss:/api/v1/exchangeInfo`
---
# Цель исследования
Для каждого WebSocket Request endpoint необходимо определить:
- какие информационные факты предоставляет endpoint;
- каким образом формируется запрос;
- каким образом формируется ответ;
- отличается ли ответ от REST;
- как данные связаны с другими источниками;
- каким образом endpoint может использоваться подсистемой Market Intelligence.
---
# 1. Исследование подключения
## 1.1 WebSocket-соединение
Проверить:
- [ ] корректность подключения;
- [ ] требования к соединению;
- [ ] требования к авторизации;
- [ ] timeout подключения;
- [ ] ограничения соединения;
- [ ] возможность повторного подключения.
---
## 1.2 Формат запроса
Для каждого запроса определить:
- [ ] destination;
- [ ] correlationId;
- [ ] payload;
- [ ] обязательные поля;
- [ ] необязательные поля;
- [ ] допустимые значения;
- [ ] ограничения.
---
## 1.3 Формат ответа
Для каждого ответа определить:
- [ ] структуру ответа;
- [ ] обязательные поля;
- [ ] необязательные поля;
- [ ] типы данных;
- [ ] диапазоны значений;
- [ ] сообщения об ошибках.
---
# 2. Исследование семантики полей
Для каждого поля определить:
- [ ] фактическое назначение;
- [ ] источник происхождения;
- [ ] обязательность;
- [ ] диапазон значений;
- [ ] взаимосвязь с другими полями;
- [ ] ограничения использования;
- [ ] степень подтверждения семантики.
---
# 3. Исследование информационных фактов
Для каждого ответа определить:
- [ ] какие информационные факты содержит ответ;
- [ ] какие информационные факты могут быть вычислены;
- [ ] какие информационные факты отсутствуют;
- [ ] какие факты являются первичными;
- [ ] какие факты являются производными.
---
## 3.1 Первичные информационные факты
Для каждого факта определить:
- [ ] destination;
- [ ] поле ответа;
- [ ] степень подтверждения;
- [ ] ограничения использования.
---
## 3.2 Производные информационные факты
Для каждого производного факта определить:
- [ ] формулу вычисления;
- [ ] необходимые исходные данные;
- [ ] ограничения вычисления;
- [ ] степень достоверности.
---
# 4. Исследование поведения запросов
Определить:
- [ ] время ответа;
- [ ] повторяемость ответов;
- [ ] влияние параметров запроса;
- [ ] возможность параллельных запросов;
- [ ] ограничения частоты запросов;
- [ ] поведение при ошибках.
---
# 5. Исследование поведения ответов
Определить:
- [ ] является ли ответ снимком состояния;
- [ ] содержит ли ответ агрегированные данные;
- [ ] содержит ли ответ исторические данные;
- [ ] содержит ли timestamp;
- [ ] отличается ли ответ от REST.
---
# 6. Проверка эквивалентности
Для каждого информационного факта определить:
- [ ] существует ли аналогичный REST endpoint;
- [ ] существует ли аналогичный Stream;
- [ ] полностью ли совпадает значение;
- [ ] совпадает ли семантика;
- [ ] совпадает ли точность;
- [ ] совпадает ли момент формирования данных;
- [ ] имеются ли расхождения.
---
## 6.1 Альтернативные источники
Для каждого информационного факта определить:
- [ ] REST endpoint;
- [ ] WebSocket Stream;
- [ ] другие WebSocket Request;
- [ ] внутренние вычисления.
---
## 6.2 Приоритет источников
Для каждого информационного факта определить:
- [ ] основной источник;
- [ ] резервный источник;
- [ ] допустимые альтернативы;
- [ ] причины выбора приоритетного источника.
---
# 7. Исследование протокола
Проверить:
- [ ] correlationId;
- [ ] destination;
- [ ] обработку ошибок;
- [ ] timeout;
- [ ] повторный запрос;
- [ ] повторное подключение;
- [ ] потерю соединения;
- [ ] восстановление соединения;
- [ ] обработку нескольких одновременных запросов;
- [ ] гарантии получения ответа.
---
# 8. Исследование производительности
Определить:
- [ ] среднее время ответа;
- [ ] максимальное время ответа;
- [ ] минимальное время ответа;
- [ ] средний размер ответа;
- [ ] максимальный размер ответа;
- [ ] влияние параметров запроса на производительность.
---
# 9. Практическая ценность
Определить:
- [ ] какие информационные факты предоставляет endpoint;
- [ ] какие факты отсутствуют;
- [ ] может ли endpoint быть основным источником;
- [ ] может ли endpoint быть резервным источником;
- [ ] какие подсистемы Dzentra потенциально могут использовать endpoint;
- [ ] ограничения использования в runtime.
---
# 10. Ограничения исследования
Определить:
- [ ] что подтверждено;
- [ ] что предварительно подтверждено;
- [ ] что осталось гипотезой;
- [ ] что опровергнуто;
- [ ] что невозможно определить данным исследованием.
---
# 11. Итоги исследования
По результатам исследования определить:
- [ ] степень пригодности endpoint;
- [ ] степень полноты исследования;
- [ ] сильные стороны;
- [ ] ограничения;
- [ ] рекомендации по использованию;
- [ ] необходимость дополнительных исследований.