使用 Istio 优化微服务可观测性与管理
1. 用 Istio 的 Jaeger 组件替换 Zipkin 服务器
Istio 内置了对使用 Jaeger 进行分布式跟踪的支持。通过使用 Jaeger,我们可以移除之前引入的 Zipkin 服务器,从而简化 Kubernetes 中的微服务环境。同时,我们会将微服务之间跟踪和跨度 ID 的传播方式,从默认的 W3C 跟踪上下文标头改为 OpenZipkin 的 B3 标头。
以下是对源代码所做的更改:
- 依赖替换 :在所有微服务的构建文件 build.gradle
中,将以下依赖:
implementation 'io.micrometer:micrometer-tracing-bridge-otel'
implementation 'io.opentelemetry:opentelemetry-exporter-zipkin'
替换为:
implementation 'io.micrometer:micrometer-tracing-bridge-brave'
implementation 'io.zipkin.reporter2:zipkin-reporter-brave'
- 配置文件修改 :通用配置文件
config-repo/application.yml