請求通道是一個分散通道。向3個微服務(出站網關)發送請求。我期待不同的服務範圍能夠正確跟蹤不同的服務。我正在使用春天的偵探。使用DefaultHeaderMapper來映射標題。 我的問題是: 1.如何生成span id,服務器/客戶端在哪裏?任何參考文件要研究。 2.如何解決彈簧一體化中重複跨度的問題?重複跨度彈簧整合
重複跨度彈簧整合
回答
發送消息時,會在客戶端生成span。然後它在消息到達時被傳播。如果有消息到達並且沒有消息頭,則會創建該跨度。一切都寫在文檔(http://cloud.spring.io/spring-cloud-sleuth/spring-cloud-sleuth.html),所以只需閱讀文檔。至於重複跨度的解決方案,我不知道你在說什麼,所以我想你需要提供更詳細的描述或樣本來複制問題。
>發送請求到3個微服務 我想你通過'PublishSubscribeChannel'來做到這一點。在這種情況下,相同的消息被髮送3次,因此,我們有3個副本,並且顯然具有相同的頭文件,包括'span'。我不確定它是如何工作的,但是IMO應該考慮在這裏使用'child span',因爲同一父消息被髮送到不同的下游分支。或者...將每個發佈 - 訂閱分支的當前'span'複製粘貼到一個新的'span'。 –
是的,publishSubscribe頻道是所有3個出站網關的請求頻道。 –
我已經提供了更多詳細信息給我的問題,請幫忙找到詳細信息 –
- 1. CQ5彈簧整合
- 2. 與tibco Rendezvous彈簧整合
- 3. 彈簧重試和恢復
- 4. 彈簧整合從3遷移到4
- 5. java彈簧框架知識整合
- 6. 彈簧整合的豆的定義
- 7. 彈簧聚合罐
- 8. 將自定義數據添加到彈簧雲跨度
- 9. 跨越多個彈簧配置文件合併yaml
- 10. 速度彈簧綁定
- 11. 彈簧4石英調度
- 12. 彈簧安全與速度?
- 13. 與Nhibernate合併彈簧
- 14. 彈簧mvc複選框
- 15. 混合彈簧數據jpa +彈簧數據neo4j。 users服務
- 16. 彈簧數據庫重用
- 17. nginx彈簧mvc url重寫
- 18. 多彈簧與彈簧JPA
- 19. 重新創建反彈彈簧寬鬆
- 20. array_unique刪除跨度重複值
- 21. React.js中重複跨度的刪除?
- 22. 組合/跨越分組沒有重複
- 23. 彈簧整合DefaultSoapHeaderMapper - getStandardRequestHeaderNames - 覆蓋以前si版本中的
- 24. 有兩個來源的彈簧整合流程
- 25. 使用java的彈簧整合文件1.6
- 26. 如何整合GWT命令模式與彈簧
- 27. 加工後彈簧整合移動文件
- 28. 用於空文件的彈簧整合文件標記
- 29. Aws整合彈簧:保證只有一個項目從平方
- 30. Apache Jax-RS打破彈簧整合郵件
瞭解Sleuth的工作原理。如果TraceId,SpanId不通過標題,它們將在服務器端生成。所以我試圖從標題中刪除SpanId。因爲我使用的是defaultHttpHeaderMapper,所以有一種排除標題的方法。 –
WARN osihsDefaultHttpHeaderMapper - 包含值的標頭'errorChannel'------ WARN osihsDefaultHttpHeaderMapper - 標頭'replyChannel'的值------ WARN osihsDefaultHttpHeaderMapper - 標頭'currentSpan'的值爲'[Trace:5cd1817fb7f77f47 ,'Span:0744723df67d9f43,Parent:5cd1817fb7f77f47,exportable:false]'------ WARN osihsDefaultHttpHeaderMapper - 標題'X-Current-Span'的值爲'[Trace:5cd1817fb7f77f47,Span:0744723df67d9f43,Parent:5cd1817fb7f77f47,exportable :false]' –
但是我找不到從哪裏開始創建X-Current-Span,currentSpan並將其設置爲DeafultHeaderMapper。這又再次出現另一個問題:如何刪除這些頭文件並僅傳遞X-B3-TraceId以避免重新創建服務器中的跟蹤。 –