Book 4 · Lesson 4.4

Kafka producer from Axum

  • Configure rdkafka FutureProducer
  • Publish to raw-dev-events with key and payload
  • Handle broker-down gracefully in dev

Prerequisites: 4.3 · 2.3

Ingestion wraps the producer in Option — if Kafka is down, webhooks still return accepted: true with kafka_status: unavailable.

IngestionProducerPanel — simulate send vs broker failure.

Producer config

ClientConfig::new()
    .set("bootstrap.servers", &kafka_brokers)
    .set("message.timeout.ms", "5000")
    .create::<FutureProducer>()

Default topic: KAFKA_TOPIC=raw-dev-events.

Teach-back prompt

Why use event_id as the Kafka message key?

Publish raw-dev-events

Lesson 4.4 check

1. Default ingestion Kafka topic…