Go语言Zipkin分布式追踪:轻量级追踪系统
Go语言Zipkin分布式追踪轻量级追踪系统1. Zipkin概述Zipkin是Twitter开源的分布式追踪系统轻量级易于部署和使用。2. Go客户端package zipkin import ( github.com/openzipkin/zipkin-go github.com/openzipkin/zipkin-go/model github.com/openzipkin/zipkin-go/reporter/http ) type Tracer struct { tracer *zipkin.Tracer reporter *http.Reporter } func NewTracer(serviceName, endpoint string) (*Tracer, error) { reporter : http.NewReporter(endpoint) tracer, err : zipkin.NewTracer( reporter, zipkin.WithServiceName(serviceName), zipkin.WithSampler(zipkin.AlwaysSample), ) if err ! nil { return nil, err } return Tracer{ tracer: tracer, reporter: reporter, }, nil } func (t *Tracer) CreateSpan(name string) *Span { span : t.tracer.StartSpan(name) return Span{span: span} } func (t *Tracer) Close() error { t.reporter.Close() return nil }3. 总结Zipkin提供了轻量级的分布式追踪能力适合中小规模的微服务架构使用。