【HAVENT原创】Spring Boot + Spring-Kafka 异步配置
近日我们项目组采用 Kafka 来做系统日志统一管理,但是天降横祸的让 Kafka 集群(3台服务器)都挂了,堪比中大奖的节奏,随之而来的是使用 Kafka 发送消息日志的服务全部卡死,经过排查发现居然是 Kafka 当机导致了调用 Kafka 发送日志服务一直处于阻塞状态。 最后我们在检查代码的时候发现,如果无法连接 Kafka 服务,则会出现一分钟的阻塞。以上问题有两种解决方案: 一、开启异步模式 ( @EnableAsync ) @EnableAsync @Configuration public class KafkaProducerConfig { private static final Logger LOGGER = LoggerFactory.getLogger(KafkaProducerConfig.class); @Value("${kafka.brokers}") private String servers; @Bean public Map<String, Object> producerConfigs() { Map<String, Object> props = new HashMap<>(); props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, servers); props.put