> ## Documentation Index
> Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Messaging

> Overview of messaging configuration for the DLC, covering Kafka message consumers, transaction controller tasks, messaging topics, and messaging sources.

Messaging topics map consumed messages to Atoti tables and can tune performance through transaction controller tasks.

Messaging Sources are sources that require an open connection to stream data from the source to the consumer.

### Messaging consumers

Messaging consumers are responsible for connecting to the remote messaging system, listening constantly for new data,
and consuming data when available.

The consumers are created when the request to start "listening" to the remote topic is submitted at runtime. The underlying
Kafka client consumers are created and managed by the messaging consumer implementation - `KafkaMessageConsumer`.

The remote topics are polled for records when the consumer thread begins.

### Messaging transaction controller tasks

The messages collected in the consumers are applied to the Datastore in bulk operations. The cadence of
these transactions can be tuned via the [`TxControllerTaskDescription`](/configuration/messaging/kafka-topic#kafkatopicproperties).

### Messaging topics

The Messaging Topic Description contains an SQL statement to retrieve data from a messaging producer.

For more information, see [Kafka Topic](/configuration/messaging/kafka-topic).

### Messaging sources

The source contains and manages the Messaging Topics. Currently, the connection configuration is defined per topic.

For more information, see [Kafka Source](/configuration/messaging/kafka-source)
