Support Questions

Find answers, ask questions, and share your expertise
Announcements
Celebrating as our community reaches 100,000 members! Thank you!

Need for Controller Services in Apache Nifi

avatar
Contributor

Hi Team,

I went through the NiFi documentation to get an idea about Controller Services. But still I am not clear when to go for Controller services. Could you please help me with answering the below queries?

1. What are Controller Services & its characteristics/advantages? Why do we go for it?
2. In what scenarioes we can/should use it?

Thanks & Regards,
R.Rohit

1 ACCEPTED SOLUTION

avatar

A controller service is, in a simplified view, a package of configuration parameters and code that does something in the background. Some examples are:

  1. Connections to external services, for instance databases and APIs, where the controller service encapsulates the connection parameters
  2. Record Readers/Writers that tell record processors how to interpret data formats
  3. Reporting Tasks that send statistics about NiFi on a regular basis, for example to a monitoring service
  4. Sharing state between processors and cluster nodes, for instance with cache services.

There is a more formal explanation in the docs but I understand that you read that already.

In the first two use cases, if you configure a processor that uses any of these services, the processor will ask you to configure a controller service. You will not be able to run the processor before you configure the controller service (or use an existing one.)

View solution in original post

2 REPLIES 2

avatar

A controller service is, in a simplified view, a package of configuration parameters and code that does something in the background. Some examples are:

  1. Connections to external services, for instance databases and APIs, where the controller service encapsulates the connection parameters
  2. Record Readers/Writers that tell record processors how to interpret data formats
  3. Reporting Tasks that send statistics about NiFi on a regular basis, for example to a monitoring service
  4. Sharing state between processors and cluster nodes, for instance with cache services.

There is a more formal explanation in the docs but I understand that you read that already.

In the first two use cases, if you configure a processor that uses any of these services, the processor will ask you to configure a controller service. You will not be able to run the processor before you configure the controller service (or use an existing one.)

avatar
Contributor