34 lines
636 B
Go
34 lines
636 B
Go
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
|
|
|
|
}
|