├── .gitignore ├── go.mod ├── go.sum └── main.go /.gitignore: -------------------------------------------------------------------------------- 1 | .idea -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- 1 | module belajar-golang-kafka-consumer 2 | 3 | go 1.21.5 4 | 5 | require github.com/confluentinc/confluent-kafka-go/v2 v2.3.0 // indirect 6 | -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- 1 | github.com/confluentinc/confluent-kafka-go/v2 v2.3.0 h1:icCHutJouWlQREayFwCc7lxDAhws08td+W3/gdqgZts= 2 | github.com/confluentinc/confluent-kafka-go/v2 v2.3.0/go.mod h1:/VTy8iEpe6mD9pkCH5BhijlUl8ulUXymKv1Qig5Rgb8= 3 | -------------------------------------------------------------------------------- /main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "github.com/confluentinc/confluent-kafka-go/v2/kafka" 6 | "time" 7 | ) 8 | 9 | func main() { 10 | config := &kafka.ConfigMap{ 11 | "bootstrap.servers": "localhost:9092", 12 | "group.id": "golang", 13 | "auto.offset.reset": "earliest", 14 | } 15 | 16 | consumer, err := kafka.NewConsumer(config) 17 | if err != nil { 18 | panic(err) 19 | } 20 | defer consumer.Close() 21 | 22 | err = consumer.Subscribe("helloworld", nil) 23 | if err != nil { 24 | panic(err) 25 | } 26 | 27 | for { 28 | message, err := consumer.ReadMessage(1 * time.Second) 29 | if err == nil { 30 | fmt.Printf("Receive message : %s\n", message.Value) 31 | } 32 | } 33 | } 34 | --------------------------------------------------------------------------------