登录
首页 >  Golang >  Go问答

如何在没有生产者的情况下创建kafka消息?

来源:stackoverflow

时间:2024-03-30 21:24:34 377浏览 收藏

最近发现不少小伙伴都对Golang很感兴趣,所以今天继续给大家介绍Golang相关的知识,本文《如何在没有生产者的情况下创建kafka消息?》主要内容涉及到等等知识点,希望能帮到你!当然如果阅读本文时存在不同想法,可以在评论中表达,但是请勿使用过激的措辞~

问题内容

我想创建一个基本的测试用例,无需引导生产者、消费者和 kafka 实例进行测试。我一直坚持以某种方式创建基本消息,但找不到我的错误。 这是 confluence-kafka-go sdk 的结构定义:

// message represents a kafka message
type message struct {
    topicpartition topicpartition
    value          []byte
    key            []byte
    timestamp      time.time
    timestamptype  timestamptype
    opaque         interface{}
    headers        []header
}

我的基本消息创建如下所示。 我已经验证 topicpartition 结构和 validimageuploadmessageasbytes 是有效对象。

kafkamessage := kafka.message{
        topicpartition: topicpartition,
        value:          validimageuploadmessageasbytes,
        key:            messagekey,
        headers:        nil,
    }

我还尝试了以下方法,以确保它不会因为我在消息中提供的一些数据而失败:

emptyMessage := new(kafka.Message)
    emptyMessage.TopicPartition = topicPartition
    emptyMessage.Value = []byte("")
    emptyMessage.Key = []byte("")

此示例产生与下图相同的输出

当使用 goland (2021.3.3) 调试测试时,我会看到这个变量值


正确答案


代码运行正常,只是IDE GoLand的显示问题(2021.3.3)

理论要掌握,实操不能落!以上关于《如何在没有生产者的情况下创建kafka消息?》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

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