Kafka#
Kafka is a distributed message broker that allows the application to publish and subscribe to topics. It plays a pivotal role in Warehouse Blueprint applications by distributing the data to various microservices for advanced analytics. These microservices, in turn, generate new messages and feed them back to Kafka for downstream use. In scenarios where users require custom real-time analytics, they have the option to either consume data from Kafka or produce data to Kafka through their microservices.
Additional information regarding Kafka can be found in the Quickstart Guide.
Kafka topics used by various microservices are as follows:
Kafka topics# Name
Data Format
Class Name
Description
mdx-rawProtobuf
nv.FrameThe topic where the Perception microservice sends frame metadata.
mdx-bevProtobuf
nv.FrameThe topic where the Perception microservice sends Bird’s Eye View (BEV) based frame data.
mdx-behaviorProtobuf
nv.BehaviorThe topic used by the analytics pipeline to send behavior data. Refer to Behavior Processing for details.
mdx-behavior-plusProtobuf
nv.BehaviorUsed by the analytics pipeline to send enhanced behavior data, like assigning cluster details to behaviors.
mdx-alertsProtobuf
nv.BehaviorFor all anomaly data sent by the analytics pipeline.
mdx-eventsProtobuf
nv.BehaviorUsed for sending various events such as IN/OUT tripwire events and ENTRY/EXIT ROI events.
mdx-framesProtobuf
nv.FrameThis topic is for enriched frames metadata, which may include additional metrics and analytics, such as FOV & ROI occupancy.
mdx-mtmcJSON
N/A
Used by the Multi-Camera Tracking (MTMC Analytics) microservice for sending MTMC-related data.
mdx-rtlsProtobuf
nv.FrameUsed by the Real Time Location System (RTLS) microservice for sending RTLS-related data.
mdx-amrJSON
N/A
Used to send Autonomous Mobile Robot’s (AMR) location and events data.
mdx-space-utilizationProtobuf
nv.SpaceUtilizationUsed for sending space utilization analytics data.
mdx-notificationJSON
N/A
For sending various notifications such as calibration updates, configuration changes, and sensor management.
mdx-vlm-alertsProtobuf
nv.BehaviorUsed for sending Vision Language Model (VLM) verified alerts.
mdx-incidentsProtobuf
nv.IncidentUsed for sending incident data from the analytics pipeline.
mdx-vlm-incidentsProtobuf
nv.IncidentUsed for sending Vision Language Model (VLM) verified incident data.
mdx-embedProtobuf
nv.VisionLLMUsed for sending embedding data for vector similarity searches.
Note
You can use this Kafka Python library to produce and consume messages. You can find more details regarding the library and sample code over here.