Skip to main content

Crate photon_backend_fluvio

Crate photon_backend_fluvio 

Source
Expand description

Fluvio StoragePort for distributed Photon delivery.

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

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

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

§Entry points

Performance methodology: photon-bench/PERFORMANCE_STUDY.md.

§Topic mapping (Fluvio)

  • Topic: photon-{topic} when topic_shards = 1; photon-s-{shard}-{topic} when sharded (hyphens only).
  • Checkpoints: compact topic photon-checkpoints.
  • Replay: ReplayCursor::StreamSeq uses produce offset+1; ReplayCursor::TailOnly uses Offset::end().

Re-exports§

pub use stream_shard::TOPIC_SHARDS_ENV;

Modules§

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

Structs§

FluvioConfig
Resolved Fluvio adapter settings (no env lookups at append time).
FluvioStoragePort
Fluvio-backed storage port.
FluvioStoragePortBuilder
Builder for super::port::FluvioStoragePort.

Enums§

ReplayCursor
How durable replay and checkpoints map to Fluvio offsets.

Constants§

ENDPOINT_ENV
Environment variable for Fluvio SC endpoint.
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 Fluvio 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 Fluvio-safe durable consumer id for a keyed subscription.
fluvio_endpoint_from_env
Read Fluvio endpoint from the environment.