文章预览
01 介绍 Cloud Native 随着 Kubernetes 和容器化技术的普及,Go 语言不仅在云原生基础组件领域广泛应用,也在各类业务场景中占据了重要地位。如今,越来越多的新兴业务选择 Golang 作为首选编程语言。得益于丰富的 RPC 框架(如 Gin、Kratos、Kitex 等),Golang在微服务生态中愈加成熟,并被用于很多重要的开源项目,如 OpenTelemetry Collector、ETCD、Prometheus、Istio 等。 但是跟 Java 相比,Golang 在微服务生态上依然处于劣势,相比 Java 可以使用字节码增强的技术来实现无侵入的应用监控能力,Golang 没有成熟的对应方案,当前,大多数面向 Golang 应用的监控能力主要是通过 SDK 方式接入,如 OTel SDK,需要开放人员手动进行埋点,手动埋点的方案就会存在以下的两个问题: Trace 需要每个调用点都需要进行埋点,同时要注意 Trace 上下文的传递,避免链路串联错误 Metrics
………………………………