Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Tidak dapat menyambung ke Confluence Kafka menggunakan kafka-go segmentio

Tidak dapat menyambung ke Confluence Kafka menggunakan kafka-go segmentio

王林
王林ke hadapan
2024-02-06 08:48:04883semak imbas

无法使用segmentio的kafka-go连接到Confluence Kafka

Kandungan soalan

Saya boleh menggunakan confluence cli untuk menyambung ke gugusan kafka confluence, tetapi tidak boleh menggunakan perpustakaan kafka-go segmentio. Saya mendapat ralat berikut.

with SASL: SASL handshake failed: EOF

Ini adalah fungsi saya dalam go

package consumer

import (
    "context"
    "fmt"
    "log"
    "os"
    "time"

    "github.com/segmentio/kafka-go"
    "github.com/segmentio/kafka-go/sasl/plain"
)
func Consume(ctx context.Context) {
    // create a new logger that outputs to stdout
    // and has the `kafka reader` prefix
    l := log.New(os.Stdout, "kafka reader: ", 0)
    mechanism := plain.Mechanism{
        Username: "my-api-key",
        Password: "my-api-secret",
    }

    dialer := &kafka.Dialer{
        Timeout:       10 * time.Second,
        DualStack:     true,
        SASLMechanism: mechanism,
    }

    r := kafka.NewReader(kafka.ReaderConfig{
        Brokers: []string{brokerAddress}, // brokerAddress given in confluent cloud cluster settings. 
        Topic:   []string{"steps"}[0],
        // assign the logger to the reader
        Logger: l,
        Dialer: dialer,
    })
    for {
        // the `ReadMessage` method blocks until we receive the next event
        msg, err := r.ReadMessage(ctx)
        if err != nil {
            panic("could not read message " + err.Error())
        }
        // after receiving the message, log its value
        fmt.Println("received: ", string(msg.Value))
    }
}

Saya cuba menjana kunci baharu, menggunakan nama pengguna dan kata laluan akaun saya, mengurangkan partition, tetapi tiada apa yang berjaya.


Jawapan betul


Nampaknya pelayan anda TLS 版本不被接受,您可以使用 MinVersion memaksa go-kafka untuk menerimanya:

dialer := &kafka.Dialer{
        Timeout:       10 * time.Second,
        DualStack:     true,
        SASLMechanism: mechanism,
        TLS: &tls.Config{
            MinVersion: tls.VersionTLS12,
        },
    }

Atas ialah kandungan terperinci Tidak dapat menyambung ke Confluence Kafka menggunakan kafka-go segmentio. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam