請求通道是一個分散通道。向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. 彈簧整合去抖/重複刪除
- 2. 彈簧整合Javascript
- 3. CQ5彈簧整合
- 4. 與tibco Rendezvous彈簧整合
- 5. 彈簧重試和恢復
- 6. 如何整合彈簧4與彈簧安全3.2.3
- 7. 彈簧安全重複重定向
- 8. 彈簧整合備份通道
- 9. 彈簧整合的豆的定義
- 10. 彈簧整合循環的訂單
- 11. 彈簧整合從3遷移到4
- 12. 內容上的彈簧整合渠道
- 13. java彈簧框架知識整合
- 14. 整合氣氛的例子與彈簧
- 15. 彈簧恢復模板連接重置
- 16. 重複彈簧屬性文件
- 17. Resteasy彈簧安全 - 重複請求
- 18. 彈簧聚合罐
- 19. 聚合器發佈兩次彈簧整合消息
- 20. 將自定義數據添加到彈簧雲跨度
- 21. 跨越多個彈簧配置文件合併yaml
- 22. 彈簧安全核心和彈簧安全加密maven文物(重複類)
- 23. 速度彈簧綁定
- 24. 彈簧4石英調度
- 25. 彈簧安全與速度?
- 26. 與Nhibernate合併彈簧
- 27. 彈簧綜合測試
- 28. 彈簧mvc複選框
- 29. 類變量復位/彈簧
- 30. 混合彈簧數據jpa +彈簧數據neo4j。 users服務
瞭解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以避免重新創建服務器中的跟蹤。 –