首页 >后端开发 >Golang >具有 sasl.username 和 sasl.password 的融合云的 kafka 消费者的 go 客户端示例

具有 sasl.username 和 sasl.password 的融合云的 kafka 消费者的 go 客户端示例

WBOY
WBOY转载
2024-02-10 21:27:081077浏览

具有 sasl.username 和 sasl.password 的融合云的 kafka 消费者的 go 客户端示例

php小编百草为您带来了一个关于具有sasl.username和sasl.password的融合云Kafka消费者的Go客户端示例。在这个示例中,我们将展示如何使用Go编程语言创建一个能够与融合云Kafka进行安全认证的消费者客户端。通过设置正确的sasl.username和sasl.password参数,我们可以确保客户端能够成功连接和消费Kafka主题中的消息。这个示例将详细介绍所需的库和代码,帮助您快速理解和应用这一功能。让我们一起来看看吧!

问题内容

有人有一个使用 sasl.username 和 sasl.password 的 kafka 消费者的 go 客户端示例吗?

我在尝试使用来自融合云的消息时遇到错误。

Failed to connect to Kafka broker: kafka: client has run out of available brokers to talk to: EOF

解决方法

confluence 有自己的示例存储库

https://github.com /confluenceinc/confluence-kafka-go/blob/master/examples/confluence_cloud_example/confluence_cloud_example.go

摘录

bootstrapServers          = "<BOOTSTRAP_SERVERS>"
    ccloudAPIKey              = "<CCLOUD_API_KEY>"
    ccloudAPISecret           = "<CCLOUD_API_SECRET>"
    schemaRegistryAPIEndpoint = "<CCLOUD_SR_ENDPOINT>"
    schemaRegistryAPIKey      = "<CCLOUD_SR_API_KEY>"
    schemaRegistryAPISecret   = "<CCLOUD_SR_API_SECRET>"
)

func main() {

    topic := "go-test-topic"
    createTopic(topic)

    // Produce a new record to the topic...
    producer, err := kafka.NewProducer(&kafka.ConfigMap{
        "bootstrap.servers": bootstrapServers,
        "sasl.mechanisms":   "PLAIN",
        "security.protocol": "SASL_SSL",
        "sasl.username":     ccloudAPIKey,
        "sasl.password":     ccloudAPISecret})

    if err != nil {
        panic(fmt.Sprintf("Failed to create producer: %s", err))
    }

    client, err := schemaregistry.NewClient(schemaregistry.NewConfigWithAuthentication(
        schemaRegistryAPIEndpoint,
        schemaRegistryAPIKey,
        schemaRegistryAPISecret))

以上是具有 sasl.username 和 sasl.password 的融合云的 kafka 消费者的 go 客户端示例的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:stackoverflow.com。如有侵权,请联系admin@php.cn删除