Heim >Backend-Entwicklung >Golang >Ist das Confluence Kafka Go-Paket mit Ubuntu 22.04 kompatibel?

Ist das Confluence Kafka Go-Paket mit Ubuntu 22.04 kompatibel?

WBOY
WBOYnach vorne
2024-02-11 23:24:081264Durchsuche

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

php-Editor Zimo, hallo! Was das Kompatibilitätsproblem zwischen dem Confluence Kafka Go-Paket und Ubuntu 22.04 betrifft, freuen wir uns, Ihnen nach unserer Untersuchung und Tests mitteilen zu können, dass das Confluence Kafka Go-Paket mit Ubuntu 22.04 kompatibel ist. Das bedeutet, dass Sie das Confluence Kafka Go-Paket unter Ubuntu 22.04 verwenden können, ohne sich Gedanken über Kompatibilitätsprobleme machen zu müssen. Dieses Paket bietet eine Fülle von Funktionen und Features, die Ihnen helfen, Kafka-Nachrichtenwarteschlangen besser zu verarbeiten und zu verwalten. Wenn Sie Fragen oder Bedenken zu diesem Paket haben, stehen wir Ihnen jederzeit mit Hilfe und Unterstützung zur Verfügung. Ich hoffe, diese Antwort hilft Ihnen!

Frageninhalt

Ich habe das Confluence-Kafka-Paket als Daten-Streaming-Server in Golang in Ubuntu 20.04 verwendet, jetzt habe ich das Betriebssystem auf Ubuntu 22.04 geändert.

Jetzt erhalte ich diese Fehlermeldungen:

- 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

Aber das Segmentio-Paket funktioniert mit demselben Code einwandfrei. Das Problem besteht darin, dass ich das Confluence-Paket verwenden möchte, da es über die Funktion zum Abonnieren und Abbestellen verfügt und meiner Meinung nach Vorteile gegenüber dem Segemntio-Paket bietet.

Weiß jemand, wie man diesen Fehler beheben kann?

Workaround

Aufgrund der Bindungen über der github.com/confluenceinc/confluence-kafka-go/v2/kafka 包使用 librdkafkac-Bibliothek müssen Sie zunächst sicherstellen, dass die CGO-Konfiguration korrekt ist.

Übliche Inspektionsinhalte sind:

  1. Stellen Sie sicher, dass CGO aktiviert ist (cgo_enabled="1"):

    $ go env CGO_ENABLED
    0
    $ go env -w CGO_ENABLED="1"
  2. Stellen Sie sicher, dass der C-Compiler verfügbar ist. Führen Sie go env cc aus, um zu sehen, welcher C-Compiler verwendet wird.

Zusätzlich zur Überprüfung von CGO müssen Sie auch sicherstellen, dass librdkafkaverfügbar ist. Siehe Build-Tags:

  • Standardmäßig wird der gebündelte plattformspezifische statische librdkafka-Build verwendet. Dies funktioniert sofort auf Mac OSX- und Glibc-basierten Linux-Distributionen wie Ubuntu und Centos.
  • -tags musl – Muss angegeben werden, wenn auf musl-basierten Linux-Distributionen (z. B. Alpine) aufgebaut wird. Wird den gebündelten statischen Musl-Build von librdkafka verwenden.
  • -tagsdynamic – Dynamische Verlinkung -tagsdynamic - 动态链接 librdkafka。共享的 librdkafka. Freigegebene
  • -Bibliotheken müssen manuell auf andere Weise installiert werden (apt-get, yum, Erstellen aus dem Quellcode usw.).
🎜

Das obige ist der detaillierte Inhalt vonIst das Confluence Kafka Go-Paket mit Ubuntu 22.04 kompatibel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen