技术科普
时区与CDN:边缘节点的日志该用哪个时间
内容分发网络的节点遍布各大洲。用户在东京访问、源站在上海、运营团队在伦敦,同一次请求会被三方以不同时间描述。要避免混乱,只能在底层统一时间基准。
日志为什么用UTC
- 全球节点写入同一套日志系统,UTC可直接排序
- 避免夏令时导致的重复与缺失时间戳
- 与源站、安全设备的时间线可直接对齐
缓存TTL与时区无关
Cache-Control 中的 max-age 是相对秒数,例如3600表示一小时,不存在“按哪个时区计算”的问题。真正需要注意的是一些按绝对时间过期的配置,例如签名URL的过期时刻,通常以Unix时间戳表示,天然是UTC。
报表的日期切分
运营报表常按“自然日”统计。若直接把UTC日期当作本地日期,北京时间的0点到8点会被算到前一天。正确做法是先按用户时区转换,再按本地日期聚合,或在报表中明确标注时区。
安全与审计
WAF拦截记录、访问日志与源站日志需要能够串成一条时间线。统一UTC并保留毫秒精度,是排查攻击路径的基础。展示给客户时,再按客户所在时区渲染。
小结
CDN时间实践可以归纳为:传输与存储用UTC,缓存用相对秒数,报表按业务时区聚合。看似细节,却直接决定统计口径是否可信。