国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

探索服務(wù)網(wǎng)格與 OpenTelemetry 的協(xié)同之分布式跟蹤

這篇具有很好參考價(jià)值的文章主要介紹了探索服務(wù)網(wǎng)格與 OpenTelemetry 的協(xié)同之分布式跟蹤。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

探索服務(wù)網(wǎng)格與 OpenTelemetry 的協(xié)同之分布式跟蹤

在上一篇文章中,介紹了 如何在 k8s 中無(wú)侵入安裝 Otel 探針 并實(shí)現(xiàn)了無(wú)侵入(某些語(yǔ)言還無(wú)法實(shí)現(xiàn),比如 Go 的 eBPF 對(duì)內(nèi)核的苛刻要求)的分布式跟蹤。

這篇文章發(fā)出后有讀者評(píng)論 javaagent 的“無(wú)侵入”一說(shuō),這里有必要解釋下。“無(wú)侵入”主要指的是不需要修改應(yīng)用程序的業(yè)務(wù)邏輯代碼就能實(shí)現(xiàn)的功能,對(duì)應(yīng)用程序透明無(wú)感知,讓開(kāi)發(fā)者專(zhuān)注于業(yè)務(wù)開(kāi)發(fā);同時(shí)由于無(wú)需修改應(yīng)用程序代碼,更易于集成;同時(shí)還維護(hù)簡(jiǎn)單,在多種語(yǔ)言、框架間保證功能的一致性

而 Java Agent 在 JVM 啟動(dòng)時(shí)加載,它在運(yùn)行時(shí)修改字節(jié)碼來(lái)注入跟蹤代碼,而不是在應(yīng)用程序的源代碼層面上進(jìn)行修改。

背景

分布式跟蹤

分布式跟蹤是監(jiān)控和診斷微服務(wù)請(qǐng)求流程的關(guān)鍵技術(shù),也是可觀(guān)測(cè)性的關(guān)鍵組成部分,提供了對(duì)微服務(wù)架構(gòu)中復(fù)雜交互和性能問(wèn)題的深入洞察。它通過(guò)提供服務(wù)間請(qǐng)求鏈路的清晰視圖來(lái)管理復(fù)雜性,并幫助識(shí)別性能瓶頸、優(yōu)化資源分配、快速定位和解決故障,提高系統(tǒng)的整體可靠性。

服務(wù)網(wǎng)格的無(wú)侵入式分布式跟蹤

又是無(wú)侵入性!服務(wù)網(wǎng)格中的代理自動(dòng)處理所有入站和出站的網(wǎng)絡(luò)通信,自動(dòng)捕獲、記錄和分析服務(wù)間的請(qǐng)求和響應(yīng)的詳細(xì)信息,如請(qǐng)求時(shí)間、持續(xù)時(shí)間、狀態(tài)代碼和其他元數(shù)據(jù)。這種 實(shí)現(xiàn)方式 對(duì)應(yīng)用程序本身透明,并且較 Java Agent 在運(yùn)行時(shí)修改字節(jié)碼更加徹底。

這里有個(gè)前提是應(yīng)用程序能夠在請(qǐng)求中傳遞上下文信息,這樣 sidecar 代理生成和發(fā)送的跟蹤信息最終可以串聯(lián)在一起,不會(huì)發(fā)生斷鏈。

探索服務(wù)網(wǎng)格與 OpenTelemetry 的協(xié)同之分布式跟蹤

網(wǎng)格的無(wú)侵入式分布式跟蹤雖然為我們展示了請(qǐng)求的鏈路,但是如上圖所示每個(gè)跨度(span)都是 sidecar 代理的信息。

緊跟上篇文章之后,我們今天將探索 服務(wù)網(wǎng)格 FSM 與 OpenTelemetry 的集成,實(shí)現(xiàn)應(yīng)用、網(wǎng)格的全鏈路分布式跟蹤。

演示

架構(gòu)

探索服務(wù)網(wǎng)格與 OpenTelemetry 的協(xié)同之分布式跟蹤

環(huán)境配置

Jaeger、cert-manager 和 Otel operator 的安裝,請(qǐng)參考 上一篇文章。

配置 Instrumentation

接下來(lái)就是配置探針的安裝和配置了,詳細(xì)的配置說(shuō)明,可以參考 Instrumentation API 文檔。

根據(jù) FSM 分布式跟蹤文檔 的介紹,F(xiàn)SM 支持 Zipkin 的協(xié)議,因此在 propagators 中我們使用 b3multi,使用 B3 的多標(biāo)頭格式,在請(qǐng)求頭中傳遞如下的信息:

  • x-b3-traceid
  • x-b3-spanid
  • x-b3-parentspanid
  • x-b3-sampled
  • x-b3-flags

這次使用 sample 命名空間。

kubectl create namespace sample

kubectl apply -n sample -f - <<EOF
apiVersion: opentelemetry.io/v1alpha1
kind: Instrumentation
metadata:
  name: instrumentation-sample
spec:
  propagators:
    - b3multi
  sampler:
    type: parentbased_traceidratio
    argument: "1"
  env:
    - name: OTEL_EXPORTER_OTLP_ENDPOINT
      value: otel-collector.default:4318
EOF

配置 OpenTelemetry Collector

Otel 收集器的詳細(xì)配置可以參考 官方文檔。

  • 接收器(receiver),我們配置 otlp 來(lái)接收來(lái)自應(yīng)用程序的跟蹤信息,使用 zipkin 來(lái)接收來(lái)自 sidecar 的上報(bào),使用端點(diǎn) 0.0.0.0:9411。
  • 輸出器(exporter),配置 Jager 的 otlp 端點(diǎn) jaeger.default:4317
  • 管道服務(wù)(pipeline service),使用 otlpzipkin 作為輸入源,將 jaeger 作為輸出目的地。
kubectl apply -f - <<EOF
apiVersion: opentelemetry.io/v1alpha1
kind: OpenTelemetryCollector
metadata:
  name: otel
spec:
  config: |
    receivers:
      otlp:
        protocols:
          grpc:
          http:
      zipkin:
        endpoint: "0.0.0.0:9411"

    exporters:
      otlp/jaeger:
        endpoint: "jaeger.default:4317"
        tls:
          insecure: true

    service:
      pipelines:
        traces:
          receivers: [otlp, zipkin]
          exporters: [otlp/jaeger]
EOF

安裝服務(wù)網(wǎng)格 FSM

我們通過(guò) CLI 來(lái)安裝 FSM,現(xiàn)下載 FSM 使用當(dāng)前最新的正式版 1.1.4。

system=$(uname -s | tr '[:upper:]' '[:lower:]')
arch=$(uname -m | sed -E 's/x86_/amd/' | sed -E 's/aarch/arm/')
release=v1.1.4
curl -L https://github.com/flomesh-io/fsm/releases/download/$release/fsm-$release-$system-$arch.tar.gz | tar -vxzf -
./$system-$arch/fsm version

在安裝時(shí),啟用分布式跟蹤并將地址指向 Otel Collector 的 zipkin 接收器,zipkin 接收器端點(diǎn)為 /api/v2/spans。

fsm install \
  --set=fsm.tracing.enable=true \
  --set=fsm.tracing.address=otel-collector.default \
  --set=fsm.tracing.port=9411 \
  --set=fsm.tracing.endpoint=/api/v2/spans

部署示例應(yīng)用

將命名空間 sample 加入到服務(wù)網(wǎng)格中,部署應(yīng)用。

fsm namespace add sample
kubectl apply -n sample -f https://raw.githubusercontent.com/addozhang/http-sample/main/manifests/service-v1.yaml

確認(rèn)應(yīng)用 pod 注入 sidecar 并正常運(yùn)行。

kubectl get po -n sample
NAME                         READY   STATUS    RESTARTS   AGE
service-c-66bf9dcc7b-pdj8p   2/2     Running   0          38s
service-b-586cfc5ccd-k9qrs   2/2     Running   0          37s
service-a-7cf7bc5bcc-tgjzz   2/2     Running   0          37s

測(cè)試

pod_name="$(kubectl get pod -n sample -l app=service-a -o jsonpath='{.items[0].metadata.name}')"
kubectl port-forward -n sample $pod_name 8080:8080 &

curl localhost:8080

發(fā)送請(qǐng)求后,打開(kāi) Jaeger UI。

jaeger_pod="$(kubectl get pod -l app=jaeger -o jsonpath='{.items[0].metadata.name}')"
kubectl port-forward $jaeger_pod 16686:16686 &

在 Jaeger UI 中,可以看到鏈路的內(nèi)容更加的豐富:包含了應(yīng)用程序和 sidecar 代理的跨度數(shù)據(jù)。

探索服務(wù)網(wǎng)格與 OpenTelemetry 的協(xié)同之分布式跟蹤

關(guān)注"云原生指北"公眾號(hào)
(轉(zhuǎn)載本站文章請(qǐng)注明作者和出處亂世浮生,請(qǐng)勿用于任何商業(yè)用途)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-758556.html

到了這里,關(guān)于探索服務(wù)網(wǎng)格與 OpenTelemetry 的協(xié)同之分布式跟蹤的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀(guān)點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【數(shù)據(jù)網(wǎng)格架構(gòu)】分布式數(shù)據(jù)網(wǎng)格作為集中式數(shù)據(jù)單體的解決方案

    【數(shù)據(jù)網(wǎng)格架構(gòu)】分布式數(shù)據(jù)網(wǎng)格作為集中式數(shù)據(jù)單體的解決方案

    企業(yè)數(shù)據(jù)架構(gòu)師不應(yīng)構(gòu)建大型集中式數(shù)據(jù)平臺(tái),而應(yīng)創(chuàng)建分布式數(shù)據(jù)網(wǎng)格。?ThoughtWorks 的首席技術(shù)顧問(wèn) Zhamak Dehghani 在舊金山 QCon 的演講和相關(guān)文章中表示,這種方法的改變需要范式轉(zhuǎn)變。隨著數(shù)據(jù)變得越來(lái)越普遍,傳統(tǒng)的數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)湖架構(gòu)變得不堪重負(fù),無(wú)法有效擴(kuò)展

    2024年02月11日
    瀏覽(19)
  • 中移鏈與BSN分布式云管平臺(tái)集成,共同構(gòu)建專(zhuān)屬協(xié)同體系

    中移鏈與BSN分布式云管平臺(tái)集成,共同構(gòu)建專(zhuān)屬協(xié)同體系

    01 中移鏈與BSN分布式云管平臺(tái)集成, 融入BSN生態(tài)體系 中移鏈OPB(OPB即開(kāi)放聯(lián)盟鏈,Open Permissioned Blockchain)與BSN基于BSN分布式云管平臺(tái),打造了中移鏈專(zhuān)屬門(mén)戶(hù)、中移鏈專(zhuān)屬運(yùn)營(yíng)、中移鏈專(zhuān)屬運(yùn)維功能模塊,在BSN分布式云管平臺(tái)中構(gòu)建專(zhuān)屬于中移鏈的協(xié)同運(yùn)作體系,為BSN分布

    2024年02月16日
    瀏覽(19)
  • 分布式協(xié)同AI基準(zhǔn)測(cè)試KubeEdge-Ianvs快速入門(mén)教程

    目錄 簡(jiǎn)介 依賴(lài)環(huán)境 安裝Ianvs 案例演示 1. 準(zhǔn)備測(cè)試環(huán)境 2. 準(zhǔn)備測(cè)試算法 3. 準(zhǔn)備基準(zhǔn)測(cè)試工作 4. 運(yùn)行基準(zhǔn)測(cè)試工作 5. 查看測(cè)試結(jié)果 附錄 分布式協(xié)同AI基準(zhǔn)測(cè)試KubeEdge-Ianvs是KubeEdge SIG AI孵化的一個(gè)全新的社區(qū)子項(xiàng)目,主要來(lái)解決工業(yè)界如下核心痛點(diǎn): 1. 業(yè)務(wù)數(shù)據(jù)集及其配套算

    2024年02月09日
    瀏覽(48)
  • 多傳感器分布式融合算法——多傳感器網(wǎng)絡(luò)協(xié)同目標(biāo)跟蹤和定位

    多傳感器分布式融合算法——多傳感器網(wǎng)絡(luò)協(xié)同目標(biāo)跟蹤和定位

    應(yīng)用: 原創(chuàng)不易,路過(guò)的各位大佬請(qǐng)點(diǎn)個(gè)贊 主要講解算法: ? ? ? ? ?多傳感器集中式融合算法/分布式融合算法/序貫融合算法 ? ? ? ? ?多速率多傳感器異步融合算法 ? ? ? ? ?多傳感器網(wǎng)絡(luò)分布式一致濾波 應(yīng)用于: 多傳感器網(wǎng)絡(luò)協(xié)同跟蹤/定位/導(dǎo)航 聯(lián)系WX: ZB823618313 ? ?

    2024年01月20日
    瀏覽(29)
  • 【計(jì)算系統(tǒng)】5分鐘了解超算,高性能計(jì)算,并行計(jì)算,分布式計(jì)算,網(wǎng)格計(jì)算,集群計(jì)算以及云計(jì)算的區(qū)別

    【計(jì)算系統(tǒng)】5分鐘了解超算,高性能計(jì)算,并行計(jì)算,分布式計(jì)算,網(wǎng)格計(jì)算,集群計(jì)算以及云計(jì)算的區(qū)別

    超級(jí)計(jì)算機(jī)(Supercomputer)是一種計(jì)算力極強(qiáng)的計(jì)算機(jī),學(xué)術(shù)界通常稱(chēng)這一領(lǐng)域?yàn)楦咝阅苡?jì)算(High-Performance Computing)。超級(jí)計(jì)算機(jī)主要為最頂尖的科學(xué)研究服務(wù),包括核聚變模擬、石油勘探、量子力學(xué)、氣候模擬、癌癥研究、基因組學(xué)、分子動(dòng)力學(xué)、飛機(jī)和航天器空氣動(dòng)力學(xué)

    2024年02月06日
    瀏覽(24)
  • 探索分布式鎖:Redis與Zookeeper實(shí)現(xiàn)解析

    分布式鎖是分布式系統(tǒng)中的一個(gè)常見(jiàn)問(wèn)題,它可以幫助我們?cè)诙嗯_(tái)機(jī)器上同步對(duì)共享資源的訪(fǎng)問(wèn)。在本文中,我們將介紹兩種流行的分布式鎖實(shí)現(xiàn):基于Redis的分布式鎖和基于Zookeeper的分布式鎖。我們將討論它們的原理、應(yīng)用場(chǎng)景以及一些實(shí)用的技巧和案例。 在傳統(tǒng)的單體應(yīng)

    2024年04月23日
    瀏覽(23)
  • 【分布式技術(shù)專(zhuān)題】「分布式技術(shù)架構(gòu)」 探索Tomcat技術(shù)架構(gòu)設(shè)計(jì)模式的奧秘(Server和Service組件原理分析)

    【分布式技術(shù)專(zhuān)題】「分布式技術(shù)架構(gòu)」 探索Tomcat技術(shù)架構(gòu)設(shè)計(jì)模式的奧秘(Server和Service組件原理分析)

    Tomcat的總體結(jié)構(gòu)從外到內(nèi)進(jìn)行分布,最大范圍的服務(wù)容器是Server組件,Service服務(wù)組件(可以有多個(gè)同時(shí)存在),Connector(連接器)、Container(容器服務(wù)),其他組件:Jasper(Jasper解析)、Naming(命名服務(wù))、Session(會(huì)話(huà)管理)、Logging(日志管理)、JMX(Java 管理器擴(kuò)展服務(wù)

    2024年01月24日
    瀏覽(90)
  • 探索Garnet:微軟開(kāi)源的高性能分布式緩存存儲(chǔ)系統(tǒng)

    微軟研究院近期宣布推出一款名為Garnet的創(chuàng)新開(kāi)源分布式緩存存儲(chǔ)系統(tǒng),致力于解決現(xiàn)代應(yīng)用程序在處理大規(guī)模數(shù)據(jù)時(shí)對(duì)于高吞吐量、低延遲及卓越可擴(kuò)展性的嚴(yán)苛要求。這款基于C# .NET 8.0構(gòu)建的新型系統(tǒng),充分利用了現(xiàn)代硬件能力,為應(yīng)用程序開(kāi)發(fā)人員提供了加速數(shù)據(jù)訪(fǎng)問(wèn)

    2024年04月26日
    瀏覽(29)
  • 分布式社交媒體:探索Web3對(duì)社交媒體的改變

    分布式社交媒體:探索Web3對(duì)社交媒體的改變

    在數(shù)字化時(shí)代,社交媒體已成為人們?nèi)粘I钪胁豢苫蛉钡囊徊糠?。然而,傳統(tǒng)的社交媒體平臺(tái)往往由中心化的機(jī)構(gòu)或公司掌控,用戶(hù)的數(shù)據(jù)和內(nèi)容受到限制,引發(fā)了一系列的隱私和安全問(wèn)題。隨著區(qū)塊鏈技術(shù)的發(fā)展,分布式社交媒體作為一種全新的模式開(kāi)始嶄露頭角,重新

    2024年04月14日
    瀏覽(18)
  • 領(lǐng)航分布式消息系統(tǒng):一起探索Apache Kafka的核心術(shù)語(yǔ)及其應(yīng)用場(chǎng)景

    領(lǐng)航分布式消息系統(tǒng):一起探索Apache Kafka的核心術(shù)語(yǔ)及其應(yīng)用場(chǎng)景

    ? ? ? ? 本文是Kafka系列文章的第一篇,將帶你了解Kafka的核心術(shù)語(yǔ)及其應(yīng)用場(chǎng)景,后續(xù)會(huì)逐步探索其各方面的原理及應(yīng)用場(chǎng)景。下面先看一張大概得簡(jiǎn)圖,涉及Kafka的功能、原理等等,后續(xù)不斷深入介紹,歡迎關(guān)注。 ????????消息中間件(message queue middleWare, MQ)指利用高

    2024年01月21日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包