Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Page properties
Target release1.0.0
Epic
Jira
serverASF JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyNIFI-540
Document status
Status
titleDRAFT
Document owner

Unknown User (aldrin)

Designer
Developers
QA

...

  • Provide High Availability of Manager
  • Primary Node Failover (HA) / Incorporate Leader Election functionalities
  • Distributed State for user of extensions
  • Rolling restarts and upgrades
  • Provide multiple tiers of NiFi clusters
  • Dynamic node registration, support for dynamic scaling of worker nodes
  • Management of data partitions among nodes in the cluster to allow for data affinity and allocation of tasks 

  • Background and strategic fit

Given the genesis of NiFi, clustering was designed to be extremely conservative in the interest of exactly once semantics and guarantee of avoiding data loss.  While it is important to maintain this set of functionality, it also desirable to support other use cases where speed and volume are paramount to dataflow and processing with the caveats of eventual consistency and possible data duplication.  State of the art for these scenarios is typically heavily leveraging ZooKeeper through a library like Curator.

...

#TitleUser StoryImportanceNotes
1Provide leader electionNeed a robust mechanism as a basis for these extensions
2Distributed StateExtensions need a consistent mechanism for sharing state  
3Dynamic ScalingSupport for worker nodes to join/leave cluster dynamically  

User interaction and design

...