Skip to content
Snippets Groups Projects
Unverified Commit 4f80c653 authored by Seok Won's avatar Seok Won
Browse files

Create Simple Producer in Golang

go get -u "github.com/segmentio/kafka-go"
parent ec2cff9a
No related branches found
No related tags found
No related merge requests found
package main
import (
"context"
"fmt"
kafka "github.com/segmentio/kafka-go"
)
func getKafkaWriter(kafkaURL, topic string) *kafka.Writer {
return &kafka.Writer{
Addr: kafka.TCP(kafkaURL),
Topic: topic,
Balancer: &kafka.LeastBytes{},
}
}
func main() {
// get kafka writer using environment variables.
kafkaURL := "localhost:9092"
topic := "first-topic"
kafkaWriter := getKafkaWriter(kafkaURL, topic)
defer kafkaWriter.Close()
// Send messages.
for _, word := range []string{"Welcome", "gokafka"} {
msg := kafka.Message{
Key: []byte(fmt.Sprintf("Key-%d", 1)),
Value: []byte(word),
}
err := kafkaWriter.WriteMessages(context.Background(), msg)
if err != nil {
fmt.Println(err)
}
}
}
......@@ -17,7 +17,7 @@ def acked(err, msg):
if err is not None:
print("Failed to deliver message: {0}: {1}".format(msg.value(), err.str()))
else:
print(f"Message produced: {0}...".format(msg.value()))
print("Message produced: {0}...".format(msg.value()))
# Make data into dictionary format
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment