自己做的网站如何让外网访问网站地图生成器
自己做的网站如何让外网访问,网站地图生成器,泰安网站设计公司,一个网站的建设流程【Spring连载】使用Spring访问 Apache Kafka#xff08;十八#xff09;----非阻塞重试Non-Blocking Retries 一、这种模式是如何运作的How The Pattern Works二、回退延迟精度Back Off Delay Precision概述和保证Overview and Guarantees 三、配置Configuration四、Programm… 【Spring连载】使用Spring访问 Apache Kafka十八----非阻塞重试Non-Blocking Retries 一、这种模式是如何运作的How The Pattern Works二、回退延迟精度Back Off Delay Precision概述和保证Overview and Guarantees 三、配置Configuration四、Programmatic Construction五、Features5.1 BackOff Configuration5.2 Global timeout5.3 Exception Classifier5.4 Include and Exclude Topics5.5 Topics AutoCreation5.6 失败报头管理Failure Header Management 版本2.9将机制更改为bootstrap基础设施bean请参阅
配置了解引导此功能所需的两种机制。 使用Kafka实现无阻塞重试/dlt功能通常需要设置额外的主题并创建和配置相应的监听器。由于2.7 Spring for Apache Kafka通过RetryableTopic注解和RetryTopicConfiguration类提供了对它的支持以简化bootstrap。 batch监听器不支持非阻塞重试。 一、这种模式是如何运作的How The Pattern Works
如果消息处理失败则会将消息转发到具有back off时间戳的重试主题。重试主题consumer检查时间戳如果不到期则暂停该主题分区的消费。到期时将恢复分区消费消息再次被消费。如果消息处理再次失败则消息将转发到下一个重试主题并重复该模式直到成功处理或尝试次数用完并将消息发送到死信主题Dead Letter Topic如果已配置。 例如如果你有一个main-topic主题并且希望设置非阻塞重试其backoff为1000ms乘数为2最大尝试次数4次则它将创建 main-topic-retry-1000, main-topic-retry-2000, main-topic-retry-4000 和 main-topic-dlt 主题并配置相应的consumers。框架还负责创建主题以及设置和配置监听器。 通过使用这种策略你将失去Kafka对该主题的排序保证。 你可以设置自己喜欢的AckMode模式但建议使用RECORD。 目前此功能不支持类级别的KafkaListener注解。 当使用asyncAcks设置为true的手动AckMode时DefaultErrorHandler必须配置为seekAfterError设置为false。从2.9.10和3.0.8版本开始对于此类配置这将无条件设置为true。对于早期版本有必要重写RetryConfigurationSupport.configureCustomizers()方法以将属性设置为true。
Override
protected void configureCustomizers(CustomizersConfigurer customizersConfigurer) {customizersConfigurer.customizeErrorHandler(eh - eh.setSeekAfterError(false));
}此外在这些版本之前无论asyncAcks属性如何使用默认日志记录DLT处理程序都与任何类型的手动AckMode不兼容。
二、回退延迟精度Back Off Delay Precision
概述和保证Overview and Guarantees
所有消息处理和回退都由consumer线程处理因此在尽最大努力的基础上保证了延迟精度。如果一条消息的处理时间比该消费者的下一条消息back off时间长则下一条信息的延迟将高于预期。此外对于短延迟约1秒或更短线程必须做的维护工作如提交偏移量可能会延迟消息处理的执行。如果重试主题的consumer正在处理多个分区则精度也会受到影响因为我们依赖于从轮询中唤醒consumer并使用完整的pollTimeouts来进行时间调整。 也就是说对于处理单个分区的consumers来说在大多数情况下消息的处理应该大致在其确切的到期时间进行。 消息在到期时间之前永远不会被处理是保证的。
三、配置Configuration
从2.9版本开始对于默认配置EnableKafkaRetryTopic注释应该在Configuration注解类中使用。这使该功能能够正确地引导并允许在运行时插入要查找的一些功能组件。
如果添加此注释则不必同时添加EnableKafka因为EnableKafcaRetryTopic是用EnableKavka进行元注释的。
此外从该版本开始对于功能组件和全局功能的更高级配置RetryTopicConfigurationSupport类应在configuration类中进行扩展并覆盖适当的方法。有关更多详细信息请参阅配置全局设置和功能。
默认情况下重试主题的容器将与主容器具有相同的并发性。从3.0版本开始您可以为重试容器设置不同的并发性可以在注释上也可以在RetryConfigurationBuilder中。
只能使用上述技术中的一种并且只有一个Configuration类可以扩展RetryTopicConfigurationSupport。
四、Programmatic Construction
五、Features
5.1 BackOff Configuration
5.2 Global timeout
5.3 Exception Classifier
5.4 Include and Exclude Topics
5.5 Topics AutoCreation
5.6 失败报头管理Failure Header Management
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/88743.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!