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.
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!