About KXS' layered architecture¶
This page explains how the KXS layered architecture enables customization, and how overlay rules combine values from different layers into a final configuration.
KXS's layered architecture allows for a high degree of customization, with each layer being more customized than the layer immediately below.
Depending on your overlay rules (fill, first, last, discard, etc.), your final configuration can be composed of a collection of values taken from different KX Sensors layers.
| Layer | Description |
|---|---|
| Core | This layer contains core KX Sensors. |
| Vertical | KXS supports three verticals: manufacturing, utilities, and IoT. Note! IoT isn't supported in 3.0. The main difference between the verticals is the amount of data to be processed. Manufacturing has huge volumes of data and therefore must use IDB; utilities, on the other hand, has much lower volumes of data and typically doesn't use IDB. IoT is similar to manufacturing but is designed for lower volumes of data. |
| OEM | This optional layer for original equipment manufacturers allows KXS customers to pair KX Sensors software with their own custom hardware. |
| Customer | This layer contains customer repositories. Different customers may have different configuration parameters and database schemas. They will always have different APIs/stored procedures. |
| Environment | The environment in which KXS is running. |
Look up your overlay directory list¶
Your overlay directory list is defined in KXS_LOAD_DIRS, and the path to the kxs-core repository in Git is specified in $KXS_ROOT/kxsenv. The last item in the list is the overlay with the highest priority. Your full overlay directory list is shown in the dirList column.
Use the following command to look up your overlay directory list:
.du.cli.state[]
q).du.cli.state[]
ts nodes procs ver dirList
----------------------------------------------------------------------------------------------
2022.06.07D15:42:14.086233000 1 "/kxs/kxs-core;/kxs-utilities;/kxs-node-0;/kxs/client"
2022.06.07D16:20:00.069909000 ,`rdb 2 "/kxs/kxs-core;/kxs-utilities;/kxs-node-0;/kxs/client-1"
q)