首页 >后端开发 >Golang >Confluence kafka go 软件包与 ubuntu 22.04 兼容吗?

Confluence kafka go 软件包与 ubuntu 22.04 兼容吗?

WBOY
WBOY转载
2024-02-11 23:24:081278浏览

Confluence kafka go 软件包与 ubuntu 22.04 兼容吗?

php小编子墨,你好!关于Confluence kafka go 软件包与 ubuntu 22.04 的兼容性问题,经过我们的调查和测试,我们很高兴地告诉你,Confluence kafka go 软件包与 ubuntu 22.04 是兼容的。这意味着你可以在 ubuntu 22.04 上使用 Confluence kafka go 软件包,无需担心兼容性问题。这个软件包提供了丰富的功能和特性,能够帮助你更好地处理和管理 kafka 消息队列。如果你对这个软件包有任何问题或疑问,我们随时都可以提供帮助和支持。希望这个回答对你有所帮助!

问题内容

我在 ubuntu 20.04 中使用 confluence kafka 包作为 golang 中的数据流服务器,现在我将操作系统更改为 ubuntu 22.04。

现在我收到这些错误:

- kafka.producer/producer.go:18:26: undefined: kafka.Producer
- kafka.producer/producer.go:35:17: undefined: kafka.ConfigMap
- kafka.producer/producer.go:40:30: undefined: kafka.NewProducer
- kafka.producer/producer.go:133:50: undefined: kafka.Message
- kafka.producer/producer.go:134:27: undefined: kafka.TopicPartition
- kafka.producer/producer.go:136:23: undefined: kafka.PartitionAny

但是segmentio包在相同的代码中运行良好。问题是我想使用 confluence 包,因为它具有订阅和取消订阅功能,我觉得它比 segemntio 包更有优势。

有人知道如何解决这个错误吗?

解决方法

由于 github.com/confluenceinc/confluence-kafka-go/v2/kafka 包使用 librdkafka c 库顶部的绑定,因此您必须首先确保 cgo 配置正确。

常见的检查内容是:

  1. 确保 cgo 已启用 (cgo_enabled="1"):

    $ go env CGO_ENABLED
    0
    $ go env -w CGO_ENABLED="1"
  2. 确保 c 编译器可用。运行 go env cc 查看使用的是哪个 c 编译器。

除了检查cgo之外,还需要确保librdkafka可用。请参阅构建标签

  • 默认情况下,将使用捆绑的特定于平台的 librdkafka 静态构建。这在 mac osx 和基于 glibc 的 linux 发行版(例如 ubuntu 和 centos)上开箱即用。
  • -tags musl - 在基于 musl 的 linux 发行版(例如 alpine)上构建时必须指定。将使用 librdkafka 的捆绑静态 musl 构建。
  • -tagsdynamic - 动态链接 -tagsdynamic - 动态链接 librdkafka。共享的 librdkafka。共享的
  • 库必须通过其他方式手动安装(apt-get、yum、从源代码构建等)。
🎜

以上是Confluence kafka go 软件包与 ubuntu 22.04 兼容吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

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