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.