作为 Kafka 生产者渴望连接到主题
Eagerly connect to topic as a Kafka Producer
我正在实施一项服务,该服务通过 Kafka 主题将消息发送到下游服务。这只会在我的服务 API 被调用时发生,这种情况可能很少发生,至少一开始是这样。
我发现反应式 Kafka 生产者 API 延迟连接到 Kafka,我确信这对大多数用例来说都很棒,但我想知道我的 Kafka 连接配置是在我部署服务时正确。我不想等到第一个 API 电话才发现哪里出了问题。
目前我得到的解决方案是在启动时向主题发送初始化消息,但这感觉很笨拙。我可以做些什么来强制与主题建立初始连接,或者至少验证连接配置?
val response = kafkaSender.send(Mono.just(initialise))
.next()
.block();
if (response == null) {
throw new RuntimeException("empty Mono from Kafka initialisation");
}
if (response.exception() != null) {
throw propagate(response.exception());
}
如果您不想通过生产者发送心跳,您可以使用 AdminClient API 来描述您将要使用的集群或主题
我正在实施一项服务,该服务通过 Kafka 主题将消息发送到下游服务。这只会在我的服务 API 被调用时发生,这种情况可能很少发生,至少一开始是这样。
我发现反应式 Kafka 生产者 API 延迟连接到 Kafka,我确信这对大多数用例来说都很棒,但我想知道我的 Kafka 连接配置是在我部署服务时正确。我不想等到第一个 API 电话才发现哪里出了问题。
目前我得到的解决方案是在启动时向主题发送初始化消息,但这感觉很笨拙。我可以做些什么来强制与主题建立初始连接,或者至少验证连接配置?
val response = kafkaSender.send(Mono.just(initialise))
.next()
.block();
if (response == null) {
throw new RuntimeException("empty Mono from Kafka initialisation");
}
if (response.exception() != null) {
throw propagate(response.exception());
}
如果您不想通过生产者发送心跳,您可以使用 AdminClient API 来描述您将要使用的集群或主题