Слой приёма данных

Функции:

  • Приём высокочастотных данных с биржи
  • Обеспечение непрерывного потока данных для системы
  • Запись данных в Pub/Sub

Соединение будет по Websocket, так как polling/webhook недостаточно быстрые по скорости.

Можно было бы рассмотреть SSE (server-site event), но:

  • Он чуть медленнее WebSocket
  • Также он требует reconnect время от времени

Как идет процесс (если система распределенная):

  1. Наша компания говорит IP адреса наших серверов в ДЦ Бирже
  2. Биржа добавляет их в whitelist
  3. При запросе от нашей системы запрос попадает на GeoDNS. Далее DNS распределит запрос на ближайший сервер биржи
  4. Устанавливается Websocket connection

💡Но, если бы у нас было ограниченное кол-во ДЦ и у биржи было мало серверов, то можно спокойно сделать хардкод IP биржи на нашей стороне

В финальной версии будет несколько Data Receiver для отказоустойчивости.