登录
首页 >  Golang >  Go问答

确保 Kafka 写入的可靠性和低延迟:使用 confluence-kafka-go 客户端指南

来源:stackoverflow

时间:2024-03-10 16:27:24 423浏览 收藏

怎么入门Golang编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《确保 Kafka 写入的可靠性和低延迟:使用 confluence-kafka-go 客户端指南》,涉及到,有需要的可以收藏一下

问题内容

https://github.com/confluenceinc/confluence-kafka-go 上的示例生产者代码调用 producer.produce(...) 它将消息写入发送缓冲区队列并立即返回。然而,写入内部缓冲队列并不能保证成功的消息传递。我们如何确保消息成功传递?

for idx, word := range []string{"Welcome", "to", "the", 
                                "Confluent", "Kafka", "Golang", "client"} {
    start_time := time.Now().UnixNano()
    p.Produce(&kafka.Message{
        TopicPartition: kafka.TopicPartition{Topic: &topic, 
                                             Partition: kafka.PartitionAny},
        Value:          []byte(word),
    }, nil)
}

正确答案


要立即阻止并发送数据,您需要调用生产者的 Flush 方法

https://github.com/confluentinc/confluent-kafka-go/blob/master/kafka/producer.go#L335

为了确保其写入可靠,请设置 acks=all 生产者配置,并确保主题配置为同步副本数最小值为 2 或以上,主题复制因子为 3 或以上

理论要掌握,实操不能落!以上关于《确保 Kafka 写入的可靠性和低延迟:使用 confluence-kafka-go 客户端指南》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>