我们正试图在spring Kafka消费者中实现事务管理。 我们有Kafka消费者在收听主题A的信息- 我面临的问题是,当数据库事务提交失败时,主题B上的发送操作不会回滚。因此,系统处于不一致状态。 其他场景按预期工作。 例如: > 从kafka读取msg- 阅读Kafka的消息- PS:我知道kafka不支持XA事务。我确实看到一些参考资料提到了ChainedTransactionManager
我正试着把我的头绕在Kafka的交易上,而且只绕了一次。 我已经创建了一个事务性消费者,我想确保阅读和处理某个主题的所有消息。如果事务失败,消息因此丢失,Kafka仍会提交偏移量。 更正式地说,如果流处理应用程序使用消息A并生成消息B,使得B=F(A),那么恰好一次处理意味着当且仅当成功生成B时才认为A被消耗,反之亦然。来源 基于此,我假设消息A没有被消费,因此将再次被重新处理。但这条信息将如何重
新的Kafka版本(0.11)只支持一次语义。 https://cwiki.apache.org/confluence/display/KAFKA/KIP-98-精确一次交付和事务消息传递 我有一个用java编写的kafka事务代码制作程序,如下所示。 我不太确定如何使用sendOffsetsToTransaction及其预期用例。AFAIK,消费者组是消费者端的多线程读取功能。 javadoc说
这是关于让生产者知道消息是否已被消费者消费的用例。 我的想法是,每次消费消息时,消费者都会提交偏移量,生产者可以跟踪和读取当前偏移量,以查看是否消费了相应的消息。 此外,请不要犹豫,让我知道这是否是处理用例的正确方法,因为我没有Kafka的经验。我知道Kafka不是为这种方式设计的(处理上述用例),但我必须坚持使用Kafka。
我们有一个Kafka主题,从事务性生产者那里读取消息。我们希望将kafka connect消费者设置为只读提交的消息。 由于我是Kafka的新手,我需要这里的专家帮助我设置它。根据我最初的研究,我明白我需要在我们的kafka属性中设置isolation.level=read_committed。 现在我有以下问题 这是我指的正确的财产吗 我们在/confluent/bin文件夹中放置了Kafka外
让我们假设这样一个简单的例子: KStream使用带有转换器的转换操作来消除ORDER_主题中的重复消息,该转换器通过密钥/id将消息存储在持久本地状态存储中。这样,如果相同的顺序到达两次,它将被忽略。 现在一个新订单到达,它不是重复的,所以它存储在本地存储中,但在将其发送到VALIDATED_ORDER_TOPIC应用程序崩溃之前。 我想知道KStream中的事务保证是什么:记录是否已存储并提交
当我只打开一次处理时,我会得到以下错误。注意:我们的应用程序非常安全,我们只允许Kafka用户和消费者访问他们明确需要的资源。 只有一次处理kafka流是否在所有流任务中使用每个流任务的消费者组而不是消费者组?
我试图使用kafka流库只使用一次kafka的功能。我只将proessing.guarantee配置为exactly_once。与此同时,需要将事务状态存储在内部主题(__transaction_state)中。 我的问题是,如何定制主题的名称?如果kafka集群由多个消费者共享,那么每个消费者是否需要不同的事务管理主题? 谢谢你,墨蒂
我希望只使用一次语义,但我不想和消费者一起阅读信息。我宁愿读Kafka的留言。如果我加上处理。保证=恰好一次流配置,将恰好一次语义保留?
我很难从springboot kafka streams应用程序连接到Confluent cloud上的一个主题,连接失败时只出现了一行错误
我正在浏览文档,我知道通过启用 幂等性:幂等生成函数对一个主题对一个生成函数只启用一次。基本上,每一条消息发送都有更高的保证,并且在出现错误时不会重复 那么,如果我们已经有幂等性,那么为什么我们需要在Kafka Stream中另一个恰好一次的属性呢?幂等性和恰好一次之间有什么区别 为什么在普通Kafka制作人中不提供一次房产?
关于合流博客 只有一次语义是可能的:Kafka就是这样做的 精确一次语义学:即使生产者重试发送消息,它也会导致消息仅一次传递给最终消费者。精确一次语义学是最理想的保证,但也是一个很少被理解的保证。这是因为它需要消息传递系统本身与生成和消费消息的应用程序之间的合作。例如,如果在成功消费消息后,您将Kafka消费者倒带到上一个偏移量,您将再次收到从该偏移量到最新偏移量的所有消息。这说明了为什么消息传递
在早期版本的Kafka中,在消费者组不匹配期间,事务id和主题分区之间应该有一次语义静态映射,事务id有可能得到不同的主题分区。 为了避免这种情况,KIP-447:Producer scalability只实现了一次语义,我从KIP-477中了解到,旧的Producer在一个新API(sendOffsetToProdcuer)的帮助下使用fetch offset调用进行了保护,所以transact
我试图理解Kafka的事务性API。此链接定义原子读-进程-写周期如下: 首先,让我们考虑原子读-进程-写周期是什么意思。简而言之,它意味着如果应用程序在某个主题分区tp0的偏移量X处消耗消息A,并在对消息A进行一些处理后将消息B写入主题分区tp1,使得B=F(A),那么只有当消息A和B被认为成功消耗并一起发布或根本不发布时,读-进程-写周期才是原子的。 它还说: 使用为至少一次交付语义配置的va
我创建了一个带有三个分区的Kafka主题。使用Spring Kafka中的ProducerFactory,我可以创建一个producer实例。但是,我想创建三个生产者实例,因为我有三个分区。类似地,我想要三个consumer的实例。我该怎么做?请帮忙。