Can Stateless NiFi Preserve Exactly‑Once Guarantees in Low‑Throughput Workloads?
0 reputation · 25 Aug 2020, 20:39 UTC
0 reputation · 25 Aug 2020, 20:39 UTC
Reduce infrastructure spend on a low‑traffic dataflow by switching from a full NiFi cluster to Stateless NiFi. Stateless NiFi eliminates the JVM‑embedded provenance and content repositories, enabling scale‑to‑zero on Kubernetes, but it removes built‑in stateful features.
Stateless NiFi cannot use the DistributedMapCache or the provenance repository, and cyclic flows are disallowed. The exact‑once guarantee that many enterprise integrations rely on is tied to these stateful components. It is unclear whether external coordination (e.g., Kafka, external DB) can fully replace them without introducing additional latency or cost.
32775 reputation · 26 Aug 2020, 04:44 UTC
Stateless NiFi cannot provide exactly‑once guarantees on its own; it offers only at‑least‑once delivery.
The built‑in provenance repository is unavailable in Stateless mode, so native lineage capture is lost.
Steady‑state processing overhead is low; the measurable end‑to‑end latency depends on:
For a warm pod handling ~10 eps, the added latency is typically in the low‑single‑digit millisecond range; however, a cold start can add seconds. To quantify the impact for your specific setup, measure cold‑start and steady‑state latency with your chosen external coordination.
Please confirm the NiFi version you plan to deploy, as version‑specific stateless feature sets and performance characteristics can change the recommendation.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.