Git Product home page Git Product logo

nifi-loadbalancer's Introduction

NiFi Load Balancer Processor

The purpose of this processor is to allow an administrator to route flow files to multiple downstream destinations, depending on if a given downstream destination is "alive" or not. The processor accepts dynamic properties which are used to define a system command line "health check", for example:

ping -c 1 1.2.3.4

Assuming the downstream destination is 1.2.3.4, then the above command is run every 5 seconds. As long as the command exits with a 0 return code, the destination is considered alive and accepting flow files. Should 1.2.3.4 be unreachable by ping, then the above command would return a non-zero exit code, and the Load Balancing processor will automatically stop sending flow-files to the destination.

The processor allows for three load-balancing strategies:

  • Round Robin (default): The processor will send the incoming flow file to the next available destination responding to health checks

  • Random: The processor will send the incoming flow file to a randomly chosen destination responding to health checks

  • Attribute Hash: note - this requires you to set the "Attribute Hash Field" property. When this strategy is chosen, the processor will hash the flow flile attribute specified in the "Attribute Hash Field" property, and flow files whose attributes hash to the same value will be sent to the same destination provided said destination still responds to health checks. This strategy is effective in situations when session "stickiness" is required, e.g. sending all HTTP requests from a particular user to the same webserver backend

Qucikstart Video Demo

Installation

Advanced

The property "Attribute Hash Lifetime" is only used when the loadb alancing strategy is set to "Attribute Hash", and controls for how long an attribute hash is stored in cache since it was last seen. Setting this to a lower value may save you some memory, but risks sending a flow file to the wrong destination if the time between two flow files with the same attribute hash is greater than the lifetime specified.

nifi-loadbalancer's People

Contributors

dvas0004 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.