StandardPulsarClientService

Description:

Standard implementation of the PulsarClientService. Provides the ability to create Pulsar Producer / Consumer instances on demand, based on the configuration properties defined.

Tags:

Pulsar, client, pool

Properties:

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

Display NameAPI NameDefault ValueAllowable ValuesDescription
Pulsar Service URLPULSAR_SERVICE_URLURL for the Pulsar cluster, e.g. pulsar://localhost:6650
Supports Expression Language: true (will be evaluated using variable registry only)
Pulsar Client Authentication ServiceAUTHENTICATION_SERVICEController Service API:
PulsarClientAuthenticationService
Implementations: PulsarClientTlsAuthenticationService
PulsarClientAthenzAuthenticationService
PulsarClientOauthAuthenticationService
PulsarClientJwtAuthenticationService
Specifies the Service to use for authenticating with Pulsar.
Maximum concurrent lookup-requestsCONCURRENT_LOOKUP_REQUESTS5000Number of concurrent lookup-requests allowed on each broker-connection.
Supports Expression Language: true (will be evaluated using variable registry only)
Maximum connects per Pulsar brokerCONNECTIONS_PER_BROKER1Sets the max number of connection that the client library will open to a single broker. By default, the connection pool will use a single connection for all the producers and consumers. Increasing this parameter may improve throughput when using many producers over a high latency connection.
Supports Expression Language: true (will be evaluated using variable registry only)
I/O ThreadsIO_THREADS1The number of threads to be used for handling connections to brokers.
Supports Expression Language: true (will be evaluated using variable registry only)
Keep Alive intervalKEEP_ALIVE_INTERVAL30 secThe keep alive interval in seconds for each client-broker-connection.
Supports Expression Language: true (will be evaluated using variable registry only)
Listener ThreadsLISTENER_THREADS1The number of threads to be used for message listeners
Supports Expression Language: true (will be evaluated using variable registry only)
Maximum lookup requestsMAXIMUM_LOOKUP_REQUESTS50000Number of max lookup-requests allowed on each broker-connection. To prevent overload on broker, it should be greater than the 'Maximum concurrent lookup-requests' property value.
Supports Expression Language: true (will be evaluated using variable registry only)
Maximum rejected requests per connectionMAXIMUM_REJECTED_REQUESTS50Max number of broker-rejected requests in a certain time-frame after which current connection will be closed and client creates a new connection that gives chance to connect a different broker.
Supports Expression Language: true (will be evaluated using variable registry only)
Operation TimeoutOPERATION_TIMEOUT30 secProducer-create, subscribe and unsubscribe operations will be retried until this interval, after which the operation will be marked as failed.
Supports Expression Language: true (will be evaluated using variable registry only)
Stats intervalSTATS_INTERVAL60 secThe interval between each stat infomation update. It should be set to at least 1 second.
Supports Expression Language: true (will be evaluated using variable registry only)
Allow TLS Insecure ConnectionALLOW_TLS_INSECURE_CONNECTIONfalse
  • true
  • false
No Description Provided.
Enable TLS Hostname VerificationENABLE_TLS_HOSTNAME_VERIFICATIONfalse
  • true
  • false
It allows to validate hostname verification when client connects to broker over tls. It validates incoming x509 certificate and matches provided hostname(CN/SAN) with expected broker's host name. It follows RFC 2818, 3.1. Server Identity hostname verification.
Use TCP no-delay flagUSE_TCP_NO_DELAYfalse
  • true
  • false
Configure whether to use TCP no-delay flag on the connection, to disable Nagle algorithm. No-delay features make sure packets are sent out on the network as soon as possible, and it's critical to achieve low latency publishes. On the other hand, sending out a huge number of small packets might limit the overall throughput, so if latency is not a concern, it's advisable to set the useTcpNoDelay flag to false.

State management:

This component does not store state.

Restricted:

This component is not restricted.

System Resource Considerations:

None specified.