As of the 4.4.0 release, not all frameworks and components support service classes model. The main focus for this release was the data warehouse components in Kx Stream and ensuring solutions can be built using service classes to auto-scale.
New services will automatically register with the query frameworks and be available for clients. Clients should target the service class name when register their request or subscription and the process will be chosen according to the service class cluster mode.
Service classes will be available in the Kx Dashboards as a connection group and also when defining analytic metadata through the Control UI.
Service classes configured to use messaging will be able to register their publish and subscribe topics as normal. There are no special considerations to be aware of.
If running multiple services from the same service class, be aware that you may share the same topics with another process. Use runtime overrides, if you need to distinguish between messaging streams.
# B service with different topics ./startService.sh -i fx_rdb -n fx_rdb_b -a "-publishChannel fx_pub_b -subscriptionChannel fx_sub_b"
Building a service-based data warehouse with Kx Stream is possible. The core components can all run as services and scale; TPs, RDBs, HDBs, RTEs.
The main caveat is around EOD. The RDB template uses instances to find the HDB on-disk location and the processes to reload. It doesn't support using a service class and auto-discovering the running services. For this reason, the LR intraday write down approach must be used. The LR template has been modified to support services for RDBs, HDBs and IHDBs. Three new parameters have been added to the template as seen below.
It will auto-discover services for each of these classes as they come online and will take actions, i.e. flushing data from RDBs and reloading HDBs.
Support is planned for expanding some of the other frameworks to run as service but as of the 4.4.0 release, these are not yet implemented. These components still run as instances, including;
- Messaging server
- Action tracker
- Report generator
The Gateway (DS_GW) template does not support connecting to service classes and there are no plans to implement at this point.