ConsumerSettings

zio.kafka.consumer.ConsumerSettings
See theConsumerSettings companion object
final case class ConsumerSettings(properties: Map[String, AnyRef], closeTimeout: Duration, pollTimeout: Duration, commitTimeout: Duration, offsetRetrieval: OffsetRetrieval, rebalanceListener: RebalanceListener, restartStreamOnRebalancing: Boolean, runloopTimeout: Duration, fetchStrategy: FetchStrategy)

Settings for the consumer.

To stay source compatible with future releases, you are recommended to construct the settings as follows:

 ConsumerSettings(bootstrapServers)
   .withGroupId(groupId)
   .withProperties(properties)
   .... etc.

Value parameters

bootstrapServers

the Kafka bootstrap servers

Attributes

Companion
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

def driverSettings: Map[String, AnyRef]

WARNING: zio.kafka.consumer.fetch.FetchStrategy is an EXPERIMENTAL API and may change in an incompatible way without notice in any zio-kafka version.

WARNING: zio.kafka.consumer.fetch.FetchStrategy is an EXPERIMENTAL API and may change in an incompatible way without notice in any zio-kafka version.

Value parameters

fetchStrategy

The fetch strategy which selects which partitions can fetch data in the next poll. The default is to use the zio.kafka.consumer.fetch.QueueSizeBasedFetchStrategy with a maxPartitionQueueSize parameter of 1024, which is calculated by taking 2 * the default max.poll.records of 500, rounded to the nearest power of 2.

Attributes

def withMaxPartitionQueueSize(maxPartitionQueueSize: Int): ConsumerSettings

Value parameters

maxPartitionQueueSize

Maximum number of records to be buffered per partition. This buffer improves throughput and supports varying downstream message processing time, while maintaining some backpressure. Large values effectively disable backpressure at the cost of high memory usage, low values will effectively disable prefetching in favour of low memory consumption. The number of records that is fetched on every poll is controlled by the max.poll.records setting, the number of records fetched for every partition is somewhere between 0 and max.poll.records. A value that is a power of 2 offers somewhat better queueing performance. The default value for this parameter is 1024, calculated by taking 2 * the default max.poll.records of 500, rounded to the nearest power of 2.

Attributes

The maximum time to block while polling the Kafka consumer. The Kafka consumer will return earlier when the maximum number of record to poll (see https://kafka.apache.org/documentation/#consumerconfigs_max.poll.records) is collected.

The maximum time to block while polling the Kafka consumer. The Kafka consumer will return earlier when the maximum number of record to poll (see https://kafka.apache.org/documentation/#consumerconfigs_max.poll.records) is collected.

The default is 50ms which to good for low latency applications. Set this higher, e.g. 500ms for better throughput.

Attributes

def withProperties(kvs: (String, AnyRef)*): ConsumerSettings
def withProperty(key: String, value: AnyRef): ConsumerSettings

Value parameters

value

When true all streams are restarted during a rebalance, including those streams that are not revoked. The default is false.

Attributes

Value parameters

timeout

Internal timeout for each iteration of the command processing and polling loop, use to detect stalling. This should be much larger than the pollTimeout and the time it takes to process chunks of records. If your consumer is not subscribed for long periods during its lifetime, this timeout should take that into account as well. When the timeout expires, the plainStream/partitionedStream/etc will fail with a Consumer.RunloopTimeout.

Attributes

Inherited methods

Attributes

Inherited from:
Product

Attributes

Inherited from:
Product