今天生产环境碰到了个磁盘空间写满的问题,nginx报错磁盘空间占用已满。
最终看到是因为后端处理mq消息的时候发生错误
这个错误是因为oracle底层无法处理null值导致
原因的产生是因为程序接收到mq的消息后,想要处理,但是由于oracle底层无法正确处理并存储,所以导致报错写入日志,消息又回到队列导致死循环,让服务器日志暴增。
解决办法是在mq配置中加入对于无法处理的消息的处理机制
rabbitmq:
# 开发
host:
port: 5672
username:
password:
listener:
simple:
retry:
enabled: true # 启用重试机制
max-attempts: 5 # 最多重试3次
initial-interval: 5000 # 首次重试间隔5秒
multiplier: 1.0 # 重试间隔倍数
max-interval: 15000 # 最大间隔15秒 


🏠 Site Name: HaydenBi
🔗 Site URL: https://haydenbi.com
✍️ Site Description: Coffee & Indie Developer
🖼️ Avatar URL: https://r2.haydenbi.com/about/about.png
name: KELIN'S RECORDS
url: https://www.kelin.asia
avatar: https://kelin.asia/images/avatar.png?v=1766457441145
desc: 梦见什么写什么
mail: chenkiroze@outlook.com