跳至正文
← 全部技术洞察

TECHNICAL INSIGHTS / 技术洞察

日志平台不可用时,.NET 业务要不要跟着失败?

采集或存储平台异常时,应用如果同步等待每条日志写入,可能让观测故障变成业务故障。另一方面,关键审计记录也不能被当成普通调试日志随意丢弃。两类数据需要分别设计。

明确普通遥测与业务记录

诊断日志用于排查,订单状态和必要审计可能属于业务正确性的一部分。先确认丢失后果,再选择写入方式和恢复机制。不能把所有记录都交给同一个无界内存缓冲。

控制队列与重试边界

采集故障时,限制缓冲、等待和重试,避免占满应用内存或磁盘。记录遥测丢弃与导出失败的信号,同时说明哪些数据可能缺失。具体策略要按所用 SDK 与导出组件验证。

关键审计建立独立可靠路径

若业务要求记录必须与操作一致,应评估事务记录、可靠投递或其他适合的方式。不能仅凭日志平台最终会恢复,就承诺审计记录完整。

验收采集端中断

在测试环境停止导出目标,观察接口延迟、资源和恢复后的数据行为。确认遥测恢复不会引发重试洪峰,也能解释故障期间的证据缺口。

常见问题:所有日志都异步发送就安全吗?

还需要缓冲上限、退出行为、丢失策略和监控,异步本身并不等于可靠或无影响。

技术参考:微软:资源隔离模式。具体接口与配置请结合使用版本核对。

将评估落实到你的系统

如果你的 .NET 应用还缺少可重复的部署、观察或恢复流程,可以通过容器化与自动化交付服务梳理现状,约定实施内容、演练场景与运维交接方式。