Kafka Requirements#
Kafka is an integral part of the MES event management pipeline, serving as the central messaging backbone for data replication, analytics, and IoT integration. Namely for:
-
Replication Events
- The HouseKeeper component identifies SQL Server Online Database changes and publishes replication events to Kafka.
- HouseKeeper instances consume these events and write data to ClickHouse ODS (with horizontal scaling support).
- Events are retained in Kafka for reprocessing when new CDM events are created.
-
CDM Events
- Canonical Data Model (CDM) Events are a core component of the Critical Manufacturing MES Data Strategy and Data Platform.
- HouseKeeper produces CDM events based on replication events and publishes them to Kafka.
- External systems may also emit CDM events to MES.
- CDM events serve as the data foundation that powers reports and dashboards built with Grafana, Stimulsoft Reports, and CubeJS.
- CDM events trigger Data Platform workflow execution when configured.
-
IoT Events
- MES can receive events from equipment and external sources as part of the Data Platform.
- Events undergo authentication, authorization, and schema validation.
- Valid IoT events are published and also stored in Kafka.
System Requirements Considerations#
In regards to Kafka, the system requirements might change depending on several key factors such as:
- message volume (count and size)
- throughput
- number of partitions
- replication factor
- data retention policies
Proper benchmarking and monitoring of Kafka is essential for fine-tuning resource allocation based on your specific workload.
Minimum system requirement#
| Item | Requirement |
|---|---|
| Version | >=3.8.1 to <4.0.0 |
| Brokers | 3 |
| Memory | 8GB per broker |
| CPU | 2vCPUs per broker |
| Disk space | 1TB per broker |
Table: Minimum system requirements for Kafka
Recommended system requirements#
| Item | Requirement |
|---|---|
| Version | >=3.8.1 to <4.0.0 |
| Brokers | 3 |
| Memory | 16GB per broker |
| CPU | 4vCPUs per broker |
| Disk space | 3TB per broker |
Table: Recommended system requirements for Kafka
Access Control Lists (ACLs)#
Topic Naming Convention#
To simplify ACL setup, Kafka topics created by MES follow a standardized naming convention using the system name as a prefix.
Example: If the system name is MESIntegrationEnvironment, all Kafka topics will use the lowercase prefix:
mesintegrationenvironment.*_mesintegrationenvironment.*
Required Permissions#
The MES system user must have the following permissions:
-
Topic Permissions
- Alter
- AlterConfigs
- Create
- Delete
- Describe
- DescribeConfigs
- Read
- Write
-
Consumer Group Permissions
- Read
- Delete
- Describe
-
Cluster Permissions
- Create
- Describe
- DescribeConfigs