Scaling K2K
Increase the number of instance handling one replication
Found an issue? Feed it back to us at Github, on Slack, Ask Marios or email.
To execute K2K, you must agree to the EULA and secure a free license.
Accept the EULA by setting license.acceptEula
to true
.
Secure a free license by:
emailing [email protected] to receive a token within seconds
setting
license.token
with the received token
Effortlessly scale K2K by developing new applications with a standardized replication pipeline. This enhances your ability to manage increased workloads, elevate performance, and maximize throughput as partitions are seamlessly distributed across instances.
Requirements
This tutorial assumes the following files exist (See Setting up for more details):
name: "my-first-replication"
features:
autoCreateControlTopics: enabled
autoCreateTopics: enabled
source:
kafka:
common:
"bootstrap.servers": "kafka-source:9092"
consumer:
"group.id": "k2k.my-first-k2k"
target:
kafka:
common:
"bootstrap.servers": "kafka-target:9092"
replication:
- source:
topic: ".*"
- sink:
topic: source
partition: source
To ensure a clean start, execute this command to reset any prior configurations from earlier tutorials.
docker compose down
Creating topics and data
Run the following commands to create these topics: user-topic, transaction-topic, transfers-eu and transfers-us:
#create topic user-topic
docker compose exec kafka-source \
./opt/kafka/bin/kafka-topics.sh \
--create \
--topic user-topic \
--partitions 5 \
--bootstrap-server 127.0.0.1:9092
#create topic transaction-topic
docker compose exec kafka-source \
./opt/kafka/bin/kafka-topics.sh \
--create \
--topic transaction-topic \
--partitions 5 \
--bootstrap-server 127.0.0.1:9092
#create topic transfers-eu
docker compose exec kafka-source \
./opt/kafka/bin/kafka-topics.sh \
--create \
--topic transfers-eu \
--partitions 5 \
--bootstrap-server 127.0.0.1:9092
#create topic transfers-us
docker compose exec kafka-source \
./opt/kafka/bin/kafka-topics.sh \
--create \
--topic transfers-us \
--partitions 5 \
--bootstrap-server 127.0.0.1:9092
To insert test data, execute the following commands:
write some data to user-topic
docker-compose exec kafka-source \
./opt/kafka/bin/kafka-producer-perf-test.sh \
--topic user-topic \
--num-records 100 \
--record-size 20 \
--throughput -1 \
--producer-props bootstrap.servers=localhost:9092
#write some data to transaction-topic
docker-compose exec kafka-source \
./opt/kafka/bin/kafka-producer-perf-test.sh \
--topic transaction-topic \
--num-records 100 \
--record-size 20 \
--throughput -1 \
--producer-props bootstrap.servers=localhost:9092
#write some data to transfers-eu
docker-compose exec kafka-source \
./opt/kafka/bin/kafka-producer-perf-test.sh \
--topic transfer-eu \
--num-records 100 \
--record-size 20 \
--throughput -1 \
--producer-props bootstrap.servers=localhost:9092
#write some data to transfers-us
docker-compose exec kafka-source \
./opt/kafka/bin/kafka-producer-perf-test.sh \
--topic transfers-us \
--num-records 100 \
--record-size 20 \
--throughput -1 \
--producer-props bootstrap.servers=localhost:9092
Last updated
Was this helpful?