Kafka#
Kafka is a distributed message broker that allows applications to publish and subscribe to topics. It plays a pivotal role in Warehouse Blueprint applications by distributing 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 frame metadata, which may include additional metrics and analytics, such as FOV and 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 location and events data of Autonomous Mobile Robots (AMRs).
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.
mdx-vlm-captionsProtobuf
nv.VisionLLMUsed by the RTVI-VLM microservice to publish per-chunk raw captioning events from live streams and file summarization. Consumed by Logstash, which writes the events into Elasticsearch for downstream summarization.
mdx-structured-events-summaryProtobuf
nv.VisionLLMUsed by the Video Summarization microservice to publish structured event batches and aggregated narrative summaries after CA-RAG aggregation completes. Consumed by Logstash alongside
mdx-vlm-captions.
Note
You can use the confluent-kafka Python library to produce and consume messages. See its page for more details and sample code.