gin-example/pkg/infrastructure/externalimp/kafka.go

34 lines
636 B
Go
Raw Normal View History

2023-09-14 06:49:47 +00:00
package externalimp
import (
"fmt"
"github.com/IBM/sarama"
)
type KafkaQueue struct {
}
func (a *KafkaQueue) SendMsg(key, info string) error {
config := sarama.NewConfig()
config.Producer.RequiredAcks = sarama.WaitForAll
config.Producer.Retry.Max = 5
config.Producer.Return.Successes = true
producer, err := sarama.NewSyncProducer([]string{"localhost:9092"}, config)
if err != nil {
fmt.Println("Failed to create producer:", err)
return err
}
defer producer.Close()
message := &sarama.ProducerMessage{
Topic: key,
Value: sarama.StringEncoder(info),
}
_, _, err = producer.SendMessage(message)
return err
}