1、nginx生成唯一ID的描述
在微服务架构中,多个微应用相互调用。系统日志排错显得尤为重要。通过$request_id 可是实现客户端->网关服务器->微服务集群A->>微服务集群B.... 实现日志串联。通过trace_id回显,跟踪每次调用路由。
后续如果日志服务器接ELK,可通过trace_id快速实现单次请求,各微服务间路由日志复盘。
2、nginx版本要求(>1.11.0,下图为nginx官方关于$request_id的描述)
3、具体nginx配置
server{ set $trace_id "${request_id}"; if ($http_x_atrace_id != "" ){ set $trace_id "${http_x_atrace_id}"; } add_header trace_id $trace_id; #配置反向代理时使用 proxy_set_header x-atrace-id $trace_id; ... }
浏览器请求效果如下:
nginx日志中显示效果如下:
最新评论: