Architettura e flussi
Componenti
server.js: bootstrap concreateMicroserviceServer.modules/main.js: service base (BaseService) + avvio connectivity loop.modules/connectivity.js: logica di health/auth/tickle/ssodh e proxy HTTP.ibkrRoutes.js: routing API esposte ai microservizi.
Flusso connettivita
Il loop in connectivity.js esegue periodicamente:
- check auth status (
/v1/api/iserver/auth/status); - tickle sessione (
/v1/api/tickle); - init bridge (
/v1/api/iserver/auth/ssodh/init) a intervalli configurati; - pubblicazione telemetria combinata su Redis.
Se riceve 401, tenta reauth verso dispatcher SSO (IBKRGW_SSO_URL) e riprova.
Flusso proxy API
Le richieste applicative passano da:
GET/POST/... /mirror/*->/v1/api/*su IBKR Gateway.
Sono disponibili anche endpoint semplificati:
/accounts/account?accountId=...
Integrazione con il sistema
- consumer principali:
market-data-service,brokerExecutor-ibkr, altri servizi broker-facing; - settings/log gestiti via
datahub(BaseService + logger shared); - telemetria pubblicata su Redis bus del microservizio.