Основные компоненты архитектуры

Упрощенная схема

Для начала давай верхнеуровнево посмотрим на все модули, а потом погрузимся в каждый кусок по отдельности.

GeoDNS

Данный элемент позволит нашей системе устанавливать соединение с ближайшим сервером биржи

Биржа

Внешняя система, которая высылает котировки по тикерам (акциям)

Data Receiver

Система, которая принимает данные от Биржи, обрабатывает и отправляет дальше в нашу систему

Pub/Sub

Инструмент для агрегации тикеров. Выполняет сразу 2 функции:

  • Быстро передает данные от Биржи к Клиенту (так как нет записи на Диск)
  • Сохраняет время от времени state, чтобы при подключении/переподключении клиента можно было накатить последний state у tickers

API streaming

Сервис для вычитки инфы из Pub/Sub cluster и доставки к клиенту

Api Gw

В данном случае выполняет несколько функций:

  • auth для проверки, что клиент имеет право читать инфу с Биржи
  • Перевод с gRPC-Web на gRPC streaming (об этом подробнее поговорим в блоке про API Gw)

LB

Классический LB, который занимается роутингом соединений от клиента до Api Gw