使用Correlation ID定位微服务问题
软件架构微服务化后,虽然软件间的耦合性更好了,不过在出现问题后,增加了定位问题的困难,所以就出现了 Correlation ID 来方便问题定位。首先我们看下关于 Correlation ID 在流程中的传输过程如下图:的定义描述。
The correlation identifier is a unique identifier attached to each request in architecture. The correlation ID is not an error number or code. Simply, it’s a GUID (globally unique identifier) that’s automatically generated for every request. There is no standard format for the correlation identifier. It can be a UUID or any meaningful unique identifier for the application domain. we prefer using UUID as a correlation identifier.
Correlation ID 在流程中的传输过程如下图:
X-Correlation-Id 是用于相关标识符的非标准但常用的 HTTP 标头,在HTTP头中增加的内容一般类似如下:
1X-Correlation-Id: aa094a45-afc4-45e6-b557-e0ed98674d66
很多知名的程序中都会使用 Correlation ID,比如微软sharepoint程序,如下:
同样,很多网关程序也会使用 Correlation ID,比如 kong Gateway 有 Correlation ID 插件。
同样在数据库里也有类似的特性,比如mysql里的GTID( global transaction identifier)。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/correlation-id/8984.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.