Additional Configurations
Embedded Aggregator
There is the ability to embed Aggregator into TimeBase service to improve overall performance by running as a single service.
The advantage of embedded mode is the elimination of inter-process communication between this service and TimeBase.
The disadvantages are:
- The inability to run .Net-based connectors. Only Java-based data connectors can be used.
- The possibility of data connector malfunction or resource consumption impacting TimeBase.
Configuration
- Launch QuantServer Architect and click Edit.
- Enable Aggregate and/or Maintain Market Data.
- Click on Aggregator box and select Embedded checkbox.
- Please refer to Configuring Services section for details on additional configuration settings.
- Click Apply, Start, and then Done.
- Start TimeBase service. Verify that aggregator process has been started by reviewing QuantServer logs.
Connection with TimeBase OAuth2
To enable the Aggregator to connect to TimeBase, configured with OAuth2, specify the following parameters in admin.properties
configuration file:
QuantServer.security=OAUTH
QuantServer.security.oauth2Login=SECRET
QuantServer.security.oauth2Login.secret=<secret>
Alternatively, you can configure these parameters in QuantServer Architect
by navigating to Edit
-> QuantServer config
:
To connect using the certificate credentials flow
instead of a secret
, specify the following parameters in admin.properties
configuration file:
QuantServer.security=OAUTH
QuantServer.security.oauth2Login=CERT
QuantServer.security.oauth2Login.keyAlias=<alias>
QuantServer.security.oauth2Login.keyStore=<keystore path>
QuantServer.security.oauth2Login.keyStorePassword=<keystore password>
QuantServer.security.oauth2Login.keyStoreType=<JKS|PKCS12>
Alternatively, you can configure these parameters in QuantServer Architect
by navigating to Edit
-> QuantServer config
:
Enabling Vault
To configure Vault for the Aggregator, refer to the Vault Configuration page.
Following configuration, you will be able to define secret varibles as a reference to a vault key store using the following syntax: vault:<path>/<name>
.
Defining a secret variable in the admin.properties
file looks as follows:
QuantServer.security=OAUTH
QuantServer.security.oauth2Login=SECRET
QuantServer.security.oauth2Login.secret=vault\:/oauth2-secret
In the aggregator feed process configuration, the vault key and secret are specified as a reference in the vault key store: vault:/path/to/api-key
& vault:/path/to/api-secret
.
Example of the Aggregator feed process in xml configuration:
...
<key>COINBASE_FEED</key>
<activateOnStartup>false</activateOnStartup>
<targetStream>COINBASE</targetStream>
<distributionFactor>0</distributionFactor>
<dataConnector>coinbase.data</dataConnector>
<properties>
<exchangeName>COINBASE</exchangeName>
<restUrl>https://api.coinbase.com/api/v3/brokerage/</restUrl>
<websocketsUrl>wss://advanced-trade-ws.coinbase.com/</websocketsUrl>
<api-key>vault:/path/to/api-key</api-key> <!-- Vault reference -->
<api-secret>vault:/path/to/api-secret</api-secret> <!-- Vault reference -->
<snapshotInterval>10S</snapshotInterval>
<maxInstrumentsPerConnection>80</maxInstrumentsPerConnection>
<outputBookSize>20</outputBookSize>
</properties>
...
Aggregator Under .NET
Aggregator service platform can be changed in order to run .Net-based connectors. To enable Aggregator under .Net, perform the following steps:
- Launch QuantServer Architect and click Edit.
- Enable Aggregate and/or Maintain Market Data.
- Click on Aggregator box and in ** drop-down list select NET64**.
- Complete Aggregator service configuration as described in Configuring Services section.