|
|
|
@ -3,8 +3,6 @@ package kafka |
|
|
|
|
import ( |
|
|
|
|
"context" |
|
|
|
|
"log" |
|
|
|
|
"net" |
|
|
|
|
"strconv" |
|
|
|
|
"time" |
|
|
|
|
|
|
|
|
|
"github.com/segmentio/kafka-go" |
|
|
|
@ -46,18 +44,18 @@ func (s *KafkaWriter) createTopic() error { |
|
|
|
|
} |
|
|
|
|
defer conn.Close() |
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
controller, era := conn.Controller() |
|
|
|
|
if era != nil { |
|
|
|
|
return era |
|
|
|
|
} |
|
|
|
|
// //
|
|
|
|
|
// controller, era := conn.Controller()
|
|
|
|
|
// if era != nil {
|
|
|
|
|
// return era
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
controllerConn, eru := kafka.Dial("tcp", net.JoinHostPort(controller.Host, strconv.Itoa(controller.Port))) |
|
|
|
|
if eru != nil { |
|
|
|
|
return eru |
|
|
|
|
} |
|
|
|
|
defer controllerConn.Close() |
|
|
|
|
// //
|
|
|
|
|
// controllerConn, eru := kafka.Dial("tcp", net.JoinHostPort(controller.Host, strconv.Itoa(controller.Port)))
|
|
|
|
|
// if eru != nil {
|
|
|
|
|
// return eru
|
|
|
|
|
// }
|
|
|
|
|
// defer controllerConn.Close()
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
topicConfigs := []kafka.TopicConfig{ |
|
|
|
@ -68,7 +66,7 @@ func (s *KafkaWriter) createTopic() error { |
|
|
|
|
}, |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return controllerConn.CreateTopics(topicConfigs...) |
|
|
|
|
return conn.CreateTopics(topicConfigs...) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (s *KafkaWriter) checkTopic() error { |
|
|
|
@ -99,6 +97,7 @@ func NewWriter(ctx context.Context, topic string, address ...string) *KafkaWrite |
|
|
|
|
Topic: topic, |
|
|
|
|
Balancer: &kafka.LeastBytes{}, |
|
|
|
|
WriteBackoffMax: time.Millisecond * 100, |
|
|
|
|
BatchTimeout: time.Millisecond * 100, |
|
|
|
|
Addr: kafka.TCP(address...), |
|
|
|
|
}, |
|
|
|
|
first: address[0], |
|
|
|
|