当前位置: 首页 > 知识库问答 >
问题:

为什么在使用spring kafka时,producer会更多地调用Schema注册表而不是使用producer缓存?

郭弘方
2023-03-14

我使用的是spring kafka 2.2。我们使用confluent schema registry进行模式验证,因为我们发布的是avro消息。

下面是如何在my producer configs中设置架构注册表URL。

配置。put(KafkaAvroSerializerConfig.SCHEMA\u REGISTRY\u URL\u CONFIG,schemaRegistryURL);

现在,当我发送10条相同类型的消息(相同的模式和相同的主题)时,我看到20个调用被调用到模式注册表,每个发送消息都调用了两个SR,如下所示

HttpURLConnection[]:getOutputStream HttpURLConnection[]:getInputStream

现在我的问题是:

  1. 为什么每封邮件都要打两个电话给SR
  2. 为什么架构信息没有缓存在生产者端

共有1个答案

汪耀
2023-03-14

显示您的配置

我刚刚测试了它,只看到一个调用;在CachedSchemaRegistry.register()中放置断点-我看到后续调用在缓存中找到主题。

 类似资料:
  • 我试图使用kafka-avro-console-producer 5.4.0-ccs不自动注册模式。我试着用: 但它仍然在注册模式。属性似乎正确:https://github.com/confluentinc/schema-registry/blob/a0a04628687a72ac6d01869d881a60fbde4177e7/avro-serializer/src/main/java/io/

  • 我正试图使用SpringKafka为我的生产者应用程序及其嵌入式Kafka服务器编写测试。 然而,我的应用程序也使用合流模式注册表,我想知道SpringKafka是否为模式注册表提供了一些嵌入式服务器? 或者有没有更好的方法来使用模式注册表进行Spring Kafka测试?

  • 下午好,我最近才开始与Kafka合作,我有一个关于制作人与模式的问题。 最初,我尝试在C#中构建一个没有模式的简单生产者。到目前为止,这是可行的,代码也在一个简短的版本中给出。 无模式生产者代码: 但是模式会给我带来问题(请参阅下一节)。 假设我给了一个消费者,比如说Python中的消费者,他使用以下方案来接收整数: 我现在想创建一个使用此方案并向Python消费者发送消息的C#生产者。根据该方案

  • 下载confluent open source 3.3后在命令行做一个简单的实验: 合流启动-启动所有服务时不会出现任何可见错误:

  • 我有一个基于java的web应用程序的kafka生产者,可以将消息推送到kafka。根据文档,我可以看到kafka生产者是线程安全的。这是否意味着我可以拥有Kafka生产者的单个实例,并由不同的线程(web请求)使用,在我的情况下,每个线程都将打开和关闭生产者。这会产生任何问题吗?还是根据请求启动生产者更好?

  • 问题内容: 我一直在使用“ if”来测试自己的版本,并且一切似乎都正常。当然,如果使用signalAll()而不是signal(),这将导致严重崩溃,但是如果一次仅通知一个线程,这怎么会出错? 他们的代码在这里 -检查put()和take()方法;在Condition的JavaDoc顶部可以看到一个更简单,更重点的实现。 下面是我实施的相关部分。 PS我知道,通常,尤其是在这样的lib类中,应该让