Add an external feed¶
This page describes the considerations and steps for adding an external feed to KX Sensors.
To add an external feed, you have to consider whether to introduce a new RT stream. Adding a new RT stream has performance implications. For instance, the overhead of an additional RT cluster likely increases CPU pressure on the hosts where RT is running.
An alternative approach is to use an existing stream as streamIn in feed.yaml. There is a trade-off with this approach: sequencing and replay performance degrade across all feeds that use the stream if the load on the stream exceeds the sequencer's maximum throughput.
If your ems.yaml configuration has three streams (feed1, emsint, mutreqs) and you wish to add a new external feed (feed2), the new feed could be published on the mutreqs stream. This requires no changes to ems.yaml. The following example shows the resulting feed2 feed config entry (this assumes kxsSDL_A2 and kxsSDL_B2 are already configured in the manifest):
feed:
values:
...
feed2:
id: 101
streamIn: mutreqs
streamsOut: emsint
topicIn: feed2
topicsOut: SD2
sc: sdl
nodes: [ A, B ]
procs: [ kxsSDL_A2, kxsSDL_B2 ]
If a new stream is desired, this is specified as streamIn for feed2 in feed.yaml, and the new stream needs to be added to ems.yaml. The following example shows the resulting feed2 ems.yaml config entry:
ems:
values:
...
feed2:
nodes: [ A, B, C ]
network: kx
logLevel: DEBUG
archiving:
size: 20Gi
retentionDuration: 18000
diskUsage: 80
raft:
heartbeat: 1000
chunkSize: 1
logSize: 5
external: true