问题标签 [librdkafka]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 如何获取 Kafka 主题分区的最后偏移量?
我正在使用 C 库 ( librdkafka
) 来编写 Kafka 消费者。我需要知道给定主题的分区的最后偏移量(以及滞后)。我知道使用 Python 是可能的(来自 Stackoverflow 上的类似帖子),但我没有找到在 C 中实现它的方法......谢谢。
node.js - nodeJs 中的 Apache Kafka Exactly-Once 实现
我刚开始学习 Apache Kafka。我正在使用 nodejs 和 node-rdkafka。为了使用Kafka的Exactly-Once特性,我只看到java代码,但是找不到用nodeJs实现的方法。可以这样做吗,如果可以,怎么做?
c - librdkafka 生产者从函数中获取消息并在主题上生成它
对于 Kafka 来说相对较新,我在实现 Kafka Producer 时遇到了麻烦,它接收message
来自函数的输入并根据定义的主题进一步生成它。但困难在于,将其发布在该主题上需要很多时间。如果我尝试更改它的配置,它要么会跳过一些消息,要么会减慢在主题上生成消息的速度。我将在下面发布我的生产者代码,如果有人可以帮助我完成它,我将非常感激,因为我不知道我错在哪里。
代码:-
node.js - 无法安装 npm 包(kafka-streams)
我正在尝试使用 npm 包kafka-streams但出现以下错误:
尝试了几件事:
1.安装了 windows-build-tools
2.安装了 python (2.7.16)
3.更新了节点 (v12.7.0)
4.安装了 Visual C++ 构建工具。
正如 Matt 所建议的,我也安装了 Visual C++ Build 工具。现在我遇到以下错误:
更新:1
最后,我已经能够成功构建 node-gyp:
但是仍然在尝试安装 kafka-stream 时出现以下错误
似乎 Kafka-streams 它试图使用 node-gyp 版本(v3.8.0),但我有
有什么办法可以让 kafka-streams 使用 node-gyp 版本(v5.0.3)
更新:2
做了一些更改,现在当我运行npm i kafka-streams
它时,现在尝试获取 node-gyp v5.0.3。仍然失败:
php - 如何在 php 中设置连续的 kafka 消费者,而不会出现连接超时
我正在使用以下代码从 kafka 读取消息。但是要设置消费者,我必须给出连接超时。就我而言,我想要一个持续阅读的消费者,我无法设置连接超时,因为有时它可能不会从很长时间内收到任何消息。我如何处理它。
c++ - CMake 找不到 librdkafka
我正在尝试在使用 CMake 构建的项目中使用 Kafka。
我安装了 librdkafka-dev(版本 0.8.6-1.1)。
我还尝试从 Git 下载项目并手动构建它,这似乎是成功的。
我注意到 librdkafka/packaging/cmake 中有一个 README.md 文件,并按照它的说明,在目录中成功创建了 librdkafka 的 CMake 构建。
在我的项目中运行“cmake”命令会导致以下错误:
librdkafka 可能只是在 CMakeLists.txt 文件中查找 rdkafka 的错误包名称,但我还没有找到如何在不使用 Cppkafka 包装器的情况下将其添加到 CMake。
所以我尝试下载和构建 Cppkafka(cmake ..
在其目录的文件夹内运行),它导致以下错误:
感谢您的任何帮助!
apache-kafka - 如何提高 kafka 消费者性能 PHP/RDKafka
我正在使用 php rdkafka 和高级消费方法来消费来自 kafka 的消息,如此处所述https://arnaud.le-blanc.net/php-rdkafka/phpdoc/rdkafka.examples-high-level-consumer.html
我遇到的问题是我必须等待大约 3 秒左右的消息才能被消费者读取,主题有 20 个分区并且同一组中有 10 个消费者,即使只有 1 个消费者也需要 3 秒才能从 kafka 读取消息
apache-kafka - Librdkafka:崩溃时发布的处置
考虑这个事件循环:
- 虽然更多消息
- msg_in = consumer.Poll()
- msg_out = 转换(msg_in)
- service.Publish(msg_out)
假设一个分区并专注于第四行。当此循环崩溃时,表示有 5 条消息按 1、2、3、4、5 的顺序发送到 Kafka。而这些卡夫卡只有 N<=5。休息丢失。
如果没有重试,我们能说什么?卡夫卡得到 1 或 1,2 或 1,2,3 或 1,2,3,4 或 1,2,3,4,5?Kafka 确实保证每个分区的排序。
如果有重试当然会丢失排序,并且 Kafka 可能会得到任何排列 P,而不是它确实得到的 m 从 m = 0 到 N。这是可以理解的。
我正在使用来自 confluent 的 rdkafka 的 golang 包装,但让我们只关注 rdkafka 本身。
go - 解释 GetMetadata 参数
作为函数的文档GetMetaData
:
所以我猜如果主题不是零,结果总是只返回特定的主题信息。但是,当我尝试测试时,我看到了非常奇怪的结果。
假设我已经有一个 Kafka 主题。然后我将该方法GetMetadata
称为以下代码:
只admin.GetMetadata(&topic, false, timeout)
返回主题信息。所有其他情况都返回所有主题信息。
但是,当测试集群中不存在的主题时,只有调用admin.GetMetadata(&topic, false, timeout)
会产生错误。
重新排序代码时,结果也会发生变化。
我阅读了源代码,发现它使用了一些函数,librdkafka
例如rd_kafka_metadata
or _getMetadata_broker_element
。但是我很难理解这些功能。
我用 3 个代理在 Kafka 集群上进行了测试。请为我解释背后的逻辑是什么。
go - 无法读取显示对“rd_kafka_header_get_all”的未定义引用的 librdkafka 文件
我正在尝试设置我的项目并尝试构建或尝试运行,但每次它都显示此错误未定义引用。到目前为止,我学到的东西我的代码无法读取 librdkafka 的文件。
我尝试更改安装这些工具或库的位置,尝试更改它们的版本,但未能成功解决。
这些是安装库的位置。
这是我的项目所在的位置。
这是即将到来的错误
我在这里先向您的帮助表示感谢。