Функции:
- Приём высокочастотных данных с биржи
- Обеспечение непрерывного потока данных для системы
- Запись данных в Pub/Sub
Соединение будет по Websocket, так как polling/webhook недостаточно быстрые по скорости.
Можно было бы рассмотреть SSE (server-site event), но:
- Он чуть медленнее WebSocket
- Также он требует reconnect время от времени
Как идет процесс (если система распределенная):
- Наша компания говорит IP адреса наших серверов в ДЦ Бирже
- Биржа добавляет их в whitelist
- При запросе от нашей системы запрос попадает на GeoDNS. Далее DNS распределит запрос на ближайший сервер биржи
- Устанавливается Websocket connection
💡Но, если бы у нас было ограниченное кол-во ДЦ и у биржи было мало серверов, то можно спокойно сделать хардкод IP биржи на нашей стороне
В финальной версии будет несколько Data Receiver для отказоустойчивости.