说明
API调用中经常需要对一些错误请求进行问题定位与排查,良好的日志记录会大大提高我们排查问题的效率与准确性。
API网关对全连路日志有着良好的支持,API提供者充分利用此功能后在问题排查中可以起到事半功倍的效果。
API网关
API网关会为每个请求生成一个RequestId,一般是UUID,并在日志中记录这个请求是否被正常处理。
API提供者
API提供者需要在定义API入参时选择系统参数CaRequestId,并映射射到后端期望的参数上,后端服务记录此RequestId到日志中即可,如果后端系统需要多个系统之间相互调用才能完成本次请求,那么后端系统之间通信时也需要传递并记录此RequestId。
客户端
当请求返回给客户端时,API网关会在Response的Header中添加RequestId,Key为:X-Ca-Request-Id,当客户端根据返回的错误消息无法判断错误请求的具体原因时,可以将RequestId提供给API提供者排查错误详细原因。
因为从客户端开始整个链路中都记录了RequestId,因此全连路日志分析就变得非常容易了!
图示
至此API的全连路日志记录搭建完毕。