Tool for forward messages from one kafka server to another. May be helpful for developing products, running in different Docker environments with his own kafka container.
Make sure both kafka servers runs and accessible from host, running bridge.
Edit cmd/kafka_bridge/config.yaml
according source and receiver kafka servers.
Run the following command.
cd cmd/kafka_bridge && go run main.go
Make sure both kafka servers runs and accessible from host, running bridge.
Build executable file (cd cmd/kafka_bridge && go build
).
Copy cmd/kafka_bridge/config.yaml
to directory with kafka_bridge
executable and edit it according source and receiver kafka servers.
Run the following command in directory with executable and config.
./kafka_bridge
For debug purposes, in folder test-environment
prepared docker-compose.yml (based on https://github.com/conduktor/kafka-stack-docker-compose), which runs 3 independent instances of kafka.
cd test-environment && docker compose up
consumer: docker compose exec kafka2 kafka-console-consumer --bootstrap-server kafka1:19092 --topic topic1 --from-beginning
producer: docker compose exec kafka3 kafka-console-producer --bootstrap-server kafka1:19092 --topic topic1
producer with key: docker compose exec kafka3 kafka-console-producer --bootstrap-server kafka1:19092 --topic topic1 --property "parse.key=true" -property "key.separator=:"
consumer: docker compose exec kafka1 kafka-console-consumer --bootstrap-server kafka2:19093 --topic topic2 --from-beginning
producer: docker compose exec kafka3 kafka-console-producer --bootstrap-server kafka2:19093 --topic topic2
producer with key: docker compose exec kafka3 kafka-console-producer --bootstrap-server kafka2:19093 --topic topic2 --property "parse.key=true" -property "key.separator=:"
consumer: docker compose exec kafka1 kafka-console-consumer --bootstrap-server kafka3:19094 --topic topic3 --from-beginning
producer: docker compose exec kafka2 kafka-console-producer --bootstrap-server kafka3:19094 --topic topic3
producer with key: docker compose exec kafka2 kafka-console-producer --bootstrap-server kafka3:19094 --topic topic3 --property "parse.key=true" -property "key.separator=:"