package kafka
import (
“errors”
“github.com/Shopify/sarama”
“github.com/luslin/webs/src/server1/conf”
“github.com/luslin/webs/src/server1/dbsource/redis”
“github.com/prometheus/common/log”
“sync”
)
var (
err error
client sarama.Client
producer sarama.AsyncProducer
wg sync.WaitGroup
kfLock sync.Mutex
producerInstance *Producer
)
type Producer struct {
producer sarama.AsyncProducer
showDebug bool
}
func init() {
_ = Instance()
}
func Instance() *Producer {
if producerInstance != nil {
return producerInstance
}
kfLock.Lock()
defer kfLock.Unlock()
if producerInstance != nil {
return producerInstance
}
producerInstance = NewProducere(conf.Enviroment.KAFKA_ADDR, conf.Enviroment.SHOW_DEBUG)
return producerInstance
}