github.com/Psiphon-Inc/goarista@v0.0.0-20160825065156-d002785f4c67/kafka/client.go (about)

     1  // Copyright (C) 2016  Arista Networks, Inc.
     2  // Use of this source code is governed by the Apache License 2.0
     3  // that can be found in the COPYING file.
     4  
     5  package kafka
     6  
     7  import (
     8  	"os"
     9  
    10  	"github.com/Shopify/sarama"
    11  )
    12  
    13  // NewClient returns a Kafka client
    14  func NewClient(addresses []string) (sarama.Client, error) {
    15  	config := sarama.NewConfig()
    16  	hostname, err := os.Hostname()
    17  	if err != nil {
    18  		hostname = ""
    19  	}
    20  	config.ClientID = hostname
    21  	config.Producer.Compression = sarama.CompressionSnappy
    22  	config.Producer.Return.Successes = true
    23  
    24  	return sarama.NewClient(addresses, config)
    25  }