Клиенту Kafka Golang не удается подключиться к службе концентратора сообщений

Это фрагмент кода того, что я запускаю:

err := godotenv.Load()
  if err != nil {
    log.Fatal("Error loading .env file")
  }
broker := os.Getenv("BROKER")
topic := os.Getenv("TOPIC")
username := os.Getenv("USERNAME")
password := os.Getenv("PASSWORD")
calocation := os.Getenv("CALOCATION")

p, err := kafka.NewProducer(&kafka.ConfigMap{
    "metadata.broker.list": broker,
    "security.protocol":    "sasl_ssl",
    "sasl.username":        username,
    "sasl.password":        password,
    "sasl.mechanisms":      "PLAIN",
    "ssl.ca.location":      calocation,
    "api.version.request":  true})

if err != nil {
    fmt.Printf("Failed to create producer: %s\n", err)
    os.Exit(1)
}

По сути, это успешно работает на одной машине, но не на другой. Ошибка, которую я получаю на машине, которая не работает, следующая:

'SSL handshake failed: /SourceCache/OpenSSL098/OpenSSL098-52.40.1/src/ssl/s23_clnt.c:593: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version:'

Не уверен, что эта проблема может быть связана с этой проблемой: Почему kafka-python не удается подключиться к службе концентратора сообщений Bluemix?... Не думайте, что точный код работает на одном компьютере, а не на другом. Любая помощь приветствуется!


person Stephanie Reaves    schedule 17.05.2017    source источник


Ответы (1)


Для концентратора сообщений требуется протокол TLS версии 1.2.

Из вашего сообщения об ошибке вполне может быть, что версия tls, используемая на двух машинах, отличается.

librdkafka упоминает свойство ssl.cipher.suites https://github.com/edenhill/librdkafka/blob/master/CONFIGURATION.md Мне никогда не приходилось устанавливать его для клиентов C или Node.

Если вы используете Mac, убедитесь, что librdkafka использует библиотеку openssl, установленную вместе с Homebrew, а не от Apple. На моем Mac я компилирую librdkafka после экспорта CPPFLAGS=-I/usr/local/opt/openssl/include LDFLAGS=-L/usr/local/opt/openssl/lib

person Edoardo Comar    schedule 18.05.2017