减少日志产生量小结

减少日志产生量
如果force_logging=no 则
 对于普通表:
  noarchive: append
  archvie:   nologging + append

 临时表:
  noarchive: append
  archvie:   append

如果force_logging=yes
 对于普通表:
  noarchive: 无法减少日志量
  archvie:   无法减少日志量

 临时表:
  noarchive: append
  archvie:   append


由于临时表只保存临时数据,就算恢复不了也没问题,所以尽量不让它产生日志。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/231499/viewspace-428149/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/231499/viewspace-428149/

### Spring Boot Kafka 大量 Warn 日志的原因分析 在 Spring Boot 应用中,当集成 Kafka 时可能会遇到大量的警告日志。这些警告通常来源于消费者端的行为或配置不当。以下是可能的原因及其对应的解决方案: #### 1. **自动提交偏移量的时间间隔过短** 如果 `auto.commit.interval.ms` 配置得过短,而消费者的处理速度较慢,则可能导致未完全处理的消息被提前提交偏移量。这会触发 Kafka 的警告机制。 - 解决方案:调整 `auto.commit.interval.ms` 参数到更合理的时间范围,或者考虑切换至手动 ACK 模式以更好地控制消息的确认行为[^4]。 ```properties spring.kafka.consumer.auto-commit-interval=5000ms ``` --- #### 2. **重复消费同一分区中的消息** 这种情况通常是由于消费者未能及时发送 ACK 导致的。尤其是在异常情况下(如网络中断或程序崩溃),Kafka 可能重新分发尚未确认的消息给其他实例,从而引发重复消费并记录警告日志。 - 解决方案:通过启用手动 ACK 并确保只有在成功完成业务逻辑后才调用 `acknowledge()` 方法来避免此问题。 ```java @KafkaListener(topics = "example-topic", groupId = "group-id") public void listen(String message, Acknowledgment acknowledgment) { try { // 执行业务逻辑 processMessage(message); acknowledgment.acknowledge(); // 提交偏移量 } catch (Exception e) { log.error("Failed to process message: {}", message, e); } } ``` --- #### 3. **消费者组再平衡频繁发生** 每当新的消费者加入或现有消费者退出某个消费者组时,都会触发一次再平衡操作。在此期间,所有消费者都将暂停工作直到分配新分区完毕。这一过程会产生大量警告日志。 - 解决方案:优化消费者数量以及分区数之间的比例关系;减少不必要的启动/停止动作可以有效降低再平衡频率[^3]。 ```bash /srv/kafka/bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 \ --describe --group my-group-name | grep REBALANCING ``` 上述命令可用于监控当前是否存在正在进行中的再平衡活动。 --- #### 4. **心跳超时设置不合理** 默认的心跳检测时间窗口较小,在高负载环境下容易误判为连接断开进而强制驱逐该客户端参与新一轮选举流程。 - 调整参数如下可缓解此类现象的发生概率: ```properties spring.kafka.consumer.session-timeout-ms=30000 spring.kafka.consumer.max-poll-interval-ms=60000 ``` 以上两项分别定义了允许的最大无响应时间和单次轮询间最大等待时限[^1]。 --- ### 总结代码片段示例 综合以上建议后的完整配置文件样例如下所示: ```yaml spring: kafka: consumer: bootstrap-servers: localhost:9092 group-id: example-group auto-offset-reset: earliest enable-auto-commit: false session-timeout-ms: 30000 max-poll-interval-ms: 60000 properties: acks: all listener: ack-mode: manual_immediate ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值