3

我们计划通过 Kafka 推送数百万条消息,使用模式注册表 (SR) (Confluent),而不是一直发送完整的模式。

架构在这张图片中是相关的: 在此处输入图像描述

事实是,我们希望避免在生产者想要发送消息或消费者将收到消息时一直调用 SR。

所以我这里要讲的是AvroSerializer和AvroDeserializer管理的“本地”缓存。我认为已经实现这一点的贡献者应该很好地完成了这项工作。

但是由于牵连的调用数量,我只想确定我在上述架构中用红色写的内容

我没有找到任何功能来管理这个“本地”缓存,你知道检查它的内容、大小......

非常感谢!

4

1 回答 1

2

好的,最后我自己测试了这个架构:ubuntu下的2个VMBox,一个用于生产者/经纪人/消费者,另一个用于模式注册表(融合)。

我还在 bot VM 中设置了一个 WireShark TCP 数据包分析器。

当我为一条消息或数千条消息启动我的生产者时,我们交换的数据包数量相同:

在此处输入图像描述

设置一些睡眠(在 Java 中) 我可以看到仅在必须发送第一条消息时才调用 Schema 注册表,而不是在创建生产者时。

希望这可以帮助...

于 2018-01-16T15:08:41.093 回答