userver: kafka::ProducerComponent Class Reference
Loading...
Searching...
No Matches
kafka::ProducerComponent Class Referencefinal

#include <userver/kafka/components/producer_component.hpp>

Detailed Description

Apache Kafka Producer client component.

Static configuration example:

# yaml
kafka-producer-first:
delivery_timeout_ms: 3000
queue_buffering_max_ms: 100
poll_timeout_ms: 10
send_retries_count: 5
enable_idempotence: true
security_protocol: "PLAINTEXT"

Secdist format

A Kafka alias in secdist is described as a JSON object kafka_settings, containing credentials of Kafka brokers.

@pytest.fixture(scope='session')
def service_env():
single_setting = {
'brokers': os.getenv('KAFKA_RECIPE_BROKER_LIST'),
'username': '',
'password': '',
}
logging.info(f'Brokers are: {single_setting["brokers"]}')
secdist_config = {
'kafka_settings': {
'kafka-consumer': single_setting,
'kafka-producer-first': single_setting,
'kafka-producer-second': single_setting,
},
}
return {'SECDIST_CONFIG': json.dumps(secdist_config)}

Static options:

Name Description Default value
delivery_timeout_ms time a produced message waits for successful delivery
queue_buffering_max_ms delay to wait for messages to be transmitted to broker
enable_idempotence whether to make producer idempotent false
poll_timeout_ms time in milliseconds producer waits for new delivery events 10
send_retries_count how many times producer retries transient delivery errors 5
security_protocol protocol used to communicate with brokers
sasl_mechanisms SASL mechanism to use for authentication none
ssl_ca_location file or directory path to CA certificate(s) for verifying the broker's key none

Definition at line 45 of file producer_component.hpp.

+ Inheritance diagram for kafka::ProducerComponent:
+ Collaboration diagram for kafka::ProducerComponent:

Public Member Functions

 ProducerComponent (const components::ComponentConfig &config, const components::ComponentContext &context)
 
ProducerGetProducer ()
 
- Public Member Functions inherited from components::LoggableComponentBase
 LoggableComponentBase (const ComponentConfig &, const ComponentContext &)
 
 LoggableComponentBase (LoggableComponentBase &&)=delete
 
 LoggableComponentBase (const LoggableComponentBase &)=delete
 
 ~LoggableComponentBase () override=default
 
ComponentHealth GetComponentHealth () const override
 
void OnLoadingCancelled () override
 
void OnAllComponentsLoaded () override
 
void OnAllComponentsAreStopping () override
 

Static Public Member Functions

static yaml_config::Schema GetStaticConfigSchema ()
 
- Static Public Member Functions inherited from components::LoggableComponentBase
static yaml_config::Schema GetStaticConfigSchema ()
 

Static Public Attributes

static constexpr std::string_view kName = "kafka-producer"
 

Member Data Documentation

◆ kName

constexpr std::string_view kafka::ProducerComponent::kName = "kafka-producer"
staticconstexpr

Definition at line 47 of file producer_component.hpp.


The documentation for this class was generated from the following file: