- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否Shopify/sarama提供类似于 transactional.id
的选项在 JVM API 中?
该库支持幂等( Config.Producer.Idemponent
,类似于 enable.idempotence
),但我不明白如何在没有 transactional.id
的情况下使用它.
如果我错了,请纠正我,Sarama 中缺少有关这些选项的文档。但是根据 JVM 文档,没有标识符的幂等性将受到单个生产者 session 的限制。换句话说,当生产者失败并重新启动时,我们将失去保证。
我在源代码和一些测试( for example )中找到了相关属性,但不明白如何在外部使用它们。
最佳答案
Shopify/sarama为 Kafka Exactly Once (Idempotency) 提供启用幂等的生产者。但是对于下面的配置设置需要在那里。
来自 Shopify/sarama/config.go
if c.Producer.Idempotent {
if !c.Version.IsAtLeast(V0_11_0_0) {
return ConfigurationError("Idempotent producer requires Version >= V0_11_0_0")
}
if c.Producer.Retry.Max == 0 {
return ConfigurationError("Idempotent producer requires Producer.Retry.Max >= 1")
}
if c.Producer.RequiredAcks != WaitForAll {
return ConfigurationError("Idempotent producer requires Producer.RequiredAcks to be WaitForAll")
}
if c.Net.MaxOpenRequests > 1 {
return ConfigurationError("Idempotent producer requires Net.MaxOpenRequests to be 1")
}
}
在
Shopify/sarama他们是如何做到这一点的,有一个
producerEpoch
身份证号
AsyncProducer
的
transactionManager
.您可以引用
Shopify/sarama/async_producer.go 中的文件.此 Id 使用生产者初始化进行初始化,并在成功生成每条消息时递增。阅读
bumpEpoch()
函数在
async_producer.go
中看到文件。
When producer restarts, new PID gets assigned. So the idempotency is promised only for a single producer session. Even though producer retries requests on failures, each message is persisted in the log exactly once. There can still be duplicates depending on the source where the producer is getting data. Kafka won’t take care of the duplicate data received by the producer. So, in some cases, you may require an additional de-duplication system.
关于go - Kafka : Sarama, 幂等性和 transactional.id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67789785/
是否可以在sarama中创建kafka主题?我知道 java API 允许您创建主题,但我找不到任何有关如何在 sarama 中创建主题的信息。如果可能的话,我应该使用哪个 api 的示例或解释会很棒
我对Go Lang并不陌生,并尝试对使用Sarama库使用来自Kafka的消息的开源库进行一些调整。原始代码可以找到here. 原始包实现了一个PartitionConsumer,如果不需要在使用同一
当消费者尝试连接到停机代理时,Sarama 库中会发生什么?它会返回错误吗? 最佳答案 如果这些主题的复制因子大于 1,并且这些主题分区的领导者选举新代理,那么消费者将重新平衡到领导者分区。 在 Ka
有人知道如何使用 Sarama 在 Apache Kafka 中制作多订阅主题 我有一个简单的消费者,我需要订阅三个不同的主题 topic := "Payments" // need to be "P
我是Go的新手,我也在努力模拟通话:sarama.NewConsumerGroup(brokers, group, config) 我正在使用testify,我的模拟代码当前如下所示: type My
我很抱歉发布与 Kafka 图书馆相关的问题,因为没有多少人对图书馆的特定问题感兴趣。但是这个库是 golang-Kafka 实现中最常用的库之一。 我想使用 Sarama 库创建一个简单的消费者来监
我读到 kafka 提供了一个消费者客户端库,它允许通过在 zookeeper 中保存最后一次读取的偏移量来恢复(不能 100% 确定它的存储位置)。 是否可以对 Sarama 消费者做同样的事情?
您可能知道,Sarama 的文档非常糟糕。什么都不清楚。我刚找到这个例子:https://godoc.org/github.com/Shopify/sarama#example-Consumer 它消
所以我正在尝试配置 Sarama(kafka 的原生 go 客户端)生产者客户端。我相应地配置了我的 TLS,确保使用正确的密码生成客户端证书。我用来初始化客户端的 Go 代码如下所示: import
01、介绍 Apache Kafka 是一款开源的消息引擎系统。它在项目中的作用主要是削峰填谷和解耦。本文我们只介绍 Apache Kafka 的 Golang 客户端库 Sarama。Saram
是否Shopify/sarama提供类似于 transactional.id 的选项在 JVM API 中? 该库支持幂等( Config.Producer.Idemponent ,类似于 enabl
我曾尝试使用 shopify/sarama 库来使用 kafka 消息。我都用过Consumer接口(interface)和ConsumerGroup界面。我可以使用 ConsumePartition
当我生成一条消息时,我正在使用用 Go 编写的 Sarama 库从错误 channel 中读取。整体代码如下所示,包含在一个函数中: producer.AsyncProducer.Input() <-
我有一个 Kafka 实例在运行(在本地,在 Docker 中),我在 Go 中创建了一个生产者,使用 sarama package . 因为我想在我的主题上使用 Kafka Streams,生产者必
我是Golang的新手,我需要编写将事件发布到kafka的应用程序,我找不到以下问题的答案: 我需要多少个 sarama.SyncProducer? 可以在所有应用中使用一个吗?我应该有某种生产者池吗
有没有办法在不设置实际代理的情况下测试/模拟 sarama-cluster 的 NewConsumer 函数?我在这里缺少什么? 我要测试的代码: import cluster "github.com
我花了一些时间发现连接到 Kafka 0.11 集群的 Go 应用程序使用的是旧的 0.8.2 版本的库,它在响应中缺少时间戳值。 然后我发现不支持 Kafka 0.11.x API/版本(但他们正在
我有三个问题: “最早的偏移量”是什么意思?最早的偏移量并不意味着偏移量为 0? // OffsetOldest stands for the oldest offset available on t
所以我正在尝试将 Kafka 用于我的应用程序,它有一个生产者将操作记录到 Kafka MQ 中,而消费者则从 MQ 中读取它。由于我的应用程序是在 Go 中,我正在使用 Shopify Sarama
最近,我开始研究使用kafka。我正在处理的项目使用 sarama。 我使用 ConsumerGroup 阅读消息。 如果 foo 返回 false,我需要在一段时间后再次阅读消息。如何做到这一点?
我是一名优秀的程序员,十分优秀!