Skip to main content

Crate photon_backend_kafka

Crate photon_backend_kafka 

Source
Expand description

Kafka StoragePort for distributed Photon delivery.

Wraps Kafka consumer groups, checkpoint persistence, and topic sharding behind the shared storage contract. Enable via the kafka feature on the photon facade.

Connection and topic options: KafkaConfig and KafkaStoragePortBuilder (builder methods + env fallbacks documented on the builder).

Wire with PhotonBuilder::storage_port after KafkaStoragePortBuilder::build.

§Entry points

Performance methodology: photon-bench/PERFORMANCE_STUDY.md.

§Topic mapping (Kafka)

  • Topic: photon-{topic} when topic_shards = 1; photon-s-{shard}-{topic} when sharded.
  • Checkpoints: compact topic photon-checkpoints (same key layout as other broker adapters).
  • Replay: ReplayCursor::StreamSeq stores offset+1; ReplayCursor::TailOnly tails live only.

Re-exports§

pub use stream_shard::TOPIC_SHARDS_ENV;

Modules§

stream_shard
Kafka topic shard routing (distinct from Photon virtual shard topic keys).

Structs§

KafkaConfig
Resolved Kafka adapter settings (no env lookups at append time).
KafkaStoragePort
Kafka-backed storage port.
KafkaStoragePortBuilder
Builder for super::port::KafkaStoragePort.

Enums§

ReplayCursor
How durable replay and checkpoints map to Kafka offsets.

Constants§

BROKERS_ENV
Environment variable for Kafka bootstrap brokers.
MAX_INFLIGHT_ENV
Environment variable for max in-flight publishes per port.
PREFIX_ENV
Environment variable for topic name prefix.
REPLAY_CURSOR_ENV
Environment variable for replay cursor mode.
REPLICAS_ENV
Environment variable for topic replication factor.
RETENTION_ENV
Environment variable for Kafka topic retention.
SYNC_ACK_ENV
Environment variable for synchronous publish ack (1 / 0).

Functions§

consumer_group_for
Stable group id alias (NATS deliver-subject analogue).
durable_consumer_name
Build a Kafka-safe durable consumer group id for a keyed subscription.
kafka_brokers_from_env
Read Kafka brokers from the environment.