小编use*_*594的帖子

SpringBoot 中 Rest Api 的计数器指标

计算在 Spring Boot 中成功/失败响应触发 API 的次数的最佳方法是什么。

我的想法是在应用程序启动和调用 api 时使用 post 构造来启动一个新线程,然后为每个新的唯一请求使用计数器服务来计算该特定请求触发了多少 api以及其中有多少成功或失败。

如果你们有任何新方法,请推荐一些新方法。

java rest spring performancecounter spring-boot

6
推荐指数
1
解决办法
5648
查看次数

Kafka Consumer 中更好的错误处理方式

我有一个使用 spring-kafka 配置的 Springboot 应用程序,我想在其中处理收听主题时可能发生的各种错误。如果由于反序列化或任何其他异常而丢失/无法使用任何消息,则会重试 2 次,之后该消息应记录到错误文件中。我有两种可以遵循的方法:-

第一种方法(使用 SeekToCurrentErrorHandler 和 DeadLetterPublishingRecoverer):-

@Autowired
KafkaTemplate<String,Object> template;

@Bean(name = "kafkaSourceProvider")
public ConcurrentKafkaListenerContainerFactory<K, V> consumerFactory() {
        Map<String, Object> config = appProperties.getSource()
                .getProperties();
        ConcurrentKafkaListenerContainerFactory<K, V> factory =
                new ConcurrentKafkaListenerContainerFactory<>();
        factory.setConsumerFactory(new DefaultKafkaConsumerFactory<>(config));

        DeadLetterPublishingRecoverer recoverer = new DeadLetterPublishingRecoverer(template,
                (r, e) -> {
                    if (e instanceof FooException) {
                        return new TopicPartition(r.topic() + ".DLT", r.partition());
                    }
                });
        ErrorHandler errorHandler = new SeekToCurrentErrorHandler(recoverer, new FixedBackOff(0L, 2L));

        factory.setErrorHandler(errorHandler);
        return factory;
    }
Run Code Online (Sandbox Code Playgroud)

但为此我们需要添加主题(一个新的 .DLT 主题),然后我们可以将其记录到文件中。

@Bean
    public KafkaAdmin admin() {
        Map<String, Object> …
Run Code Online (Sandbox Code Playgroud)

java spring-boot kafka-consumer-api spring-kafka

0
推荐指数
1
解决办法
2万
查看次数