Skip to navigation

Kafka

View as Markdown

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:

NameData FormatClass NameDescription
mdx-rawProtobufnv.FrameThe topic where the Perception microservice sends frame metadata.
mdx-bevProtobufnv.FrameThe topic where the Perception microservice sends Bird’s Eye View (BEV) based frame data.
mdx-behaviorProtobufnv.BehaviorThe topic used by the analytics pipeline to send behavior data. Refer to Behavior Processing for details.
mdx-behavior-plusProtobufnv.BehaviorUsed by the analytics pipeline to send enhanced behavior data, like assigning cluster details to behaviors.
mdx-alertsProtobufnv.BehaviorFor all anomaly data sent by the analytics pipeline.
mdx-eventsProtobufnv.BehaviorUsed for sending various events such as IN/OUT tripwire events and ENTRY/EXIT ROI events.
mdx-framesProtobufnv.FrameThis topic is for enriched frame metadata, which may include additional metrics and analytics, such as FOV and ROI occupancy.
mdx-mtmcJSONN/AUsed by the Multi-Camera Tracking (MTMC Analytics) microservice for sending MTMC-related data.
mdx-rtlsProtobufnv.FrameUsed by the Real Time Location System (RTLS) microservice for sending RTLS-related data.
mdx-amrJSONN/AUsed to send location and events data of Autonomous Mobile Robots (AMRs).
mdx-space-utilizationProtobufnv.SpaceUtilizationUsed for sending space utilization analytics data.
mdx-notificationJSONN/AFor sending various notifications such as calibration updates, configuration changes, and sensor management.
mdx-vlm-alertsProtobufnv.BehaviorUsed for sending Vision Language Model (VLM) verified alerts.
mdx-incidentsProtobufnv.IncidentUsed for sending incident data from the analytics pipeline.
mdx-vlm-incidentsProtobufnv.IncidentUsed for sending Vision Language Model (VLM) verified incident data.
mdx-vlm-errorsJSONN/AUsed by RTVI-VLM to publish error events when Kafka error reporting is enabled.
mdx-embedProtobufnv.VisionLLMUsed for sending embedding data for vector similarity searches.
mdx-embed-errorsJSONN/AUsed by RTVI-Embed to publish error events when Kafka error reporting is enabled.
mdx-embed-filteredProtobufnv.VisionLLMUsed for sending filtered vision embeddings to Logstash for vector similarity searches.
mdx-compressed-embeddingsProtobufnv.FrameUsed for sending frame metadata with compressed per-object embeddings.
mdx-vlm-captionsProtobufnv.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-summaryProtobufnv.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.
  • You can use the confluent-kafka Python library to produce and consume messages. See its page for more details and sample code.