Fixes: #3145 * Add a sample demonstrating the next-generation consumer-group rebalance protocol. * Provide a docker-compose script for spinning up a `kraft` based Kafka broker since the new consumer protocol only works in `kraft` mode. * Add README explaining the sample.
35 lines
1.3 KiB
YAML
35 lines
1.3 KiB
YAML
version: '3'
|
|
services:
|
|
broker:
|
|
image: bitnami/kafka:3.7.0
|
|
hostname: broker
|
|
container_name: broker
|
|
ports:
|
|
- "9092:9092"
|
|
- "10000:9094"
|
|
environment:
|
|
# Kraft Settings
|
|
KAFKA_CFG_NODE_ID: 0
|
|
KAFKA_KRAFT_CLUSTER_ID: HsDBs9l6UUmQq7Y5E6bNlw
|
|
KAFKA_CFG_CONTROLLER_QUORUM_VOTERS: 0@localhost:9093
|
|
KAFKA_CFG_PROCESS_ROLES: controller,broker
|
|
|
|
# Listeners
|
|
KAFKA_CFG_LISTENERS: INTERNAL://broker:29092, PLAINTEXT://0.0.0.0:9092, EXTERNAL://:9094, CONTROLLER://:9093
|
|
KAFKA_CFG_ADVERTISED_LISTENERS: INTERNAL://broker:29092, PLAINTEXT://broker:9092, EXTERNAL://127.0.0.1:10000
|
|
KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,EXTERNAL:PLAINTEXT,PLAINTEXT:PLAINTEXT,INTERNAL:PLAINTEXT
|
|
KAFKA_CFG_CONTROLLER_LISTENER_NAMES: CONTROLLER
|
|
KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE: "true"
|
|
KAFKA_CFG_INTER_BROKER_LISTENER_NAME: INTERNAL
|
|
KAFKA_CFG_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
|
|
|
|
# Clustering
|
|
KAFKA_CFG_TRANSACTION_STATE_LOG_MIN_ISR: 1
|
|
KAFKA_CFG_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
|
|
KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
|
|
KAFKA_CFG_DEFAULT_REPLICATION_FACTOR: 1
|
|
|
|
# KIP-848
|
|
KAFKA_CFG_GROUP_COORDINATOR_REBALANCE_PROTOCOLS: "classic,consumer"
|
|
KAFKA_CFG_TRANSACTION_PARTITION_VERIFICATION_ENABLE: "false"
|