數據庫主鍵:標示唯一一條數據,譬如唯一商品,唯一訂單
全局事務ID:實現分布式事務一致性的必備良葯
請求ID:requestId,seesionId,標示一個請求或者一次會話的生命周期
身份證ID:代表你在中國的唯一標示
學號監獄號:你在某個機構的特殊代號
分布式全鏈路ID:一次在代碼里留下到此一游的留念
等等。。。。
TraceId 作用
標示一次調用的上下文ID,通過此ID可以獲悉你所做事情的足跡鏈。
譬如可以:
統計走過的每個方法的耗時
獲取你自己對自己說的話(自己打得日志)
排查錯誤請求老前輩時的溝通密語
紀錄開始和結束,保存此生所有事跡
等等。。。。
TraceId 實現

- 負載均衡:譬如 nginx,初始化 traceId 放入header
- web request:通過 fliter 獲取 header的traceId,無則初始化 traceId
- rpc 調用:通過擴展機制傳遞 traceId,無則初始化 traceId
- 定時任務 @Schedule:通過 注解切面@TraceId, 初始化 traceId
- 消息消費:通過消息傳遞協議添加traceID,無則使用注解切面@TraceId初始化 traceId
- 線程池或者異步:封裝runnable和callable初始化傳遞traceId或者封裝線程池初始化傳遞traceId
- 等等。。。
根據此traceId的基礎上,可以實現以上描述的耗時,調用鏈,錯誤排查等監控修復等需求。