istio
它强⼤到包含了微服务开发需要考虑的所有东西, 上图中的"Observe"就包括了这篇⽂章所说的"链路追踪(Tracing)".
但软件⾏业没有银弹, 强⼤的⼯具⾃然需要强⼤的⼈员去管理, 在进阶为⼤佬之前, 还是得研究⼀些传统的⽅案以便成长, 所以便有了这篇⽂章. Tracing在微服务中的作⽤分布式和微服务的关系
和传统单体服务不同, 微服务通常部署在⼀个分布式的系统中, 并且⼀个请求可能会经过好⼏个微服务的处理, 这样的环境下错误和性能问题就会更容易发⽣, 所以观察(Observe)尤为重要,
这就是Tracing的⽤武之地, 它收集调⽤过程中的信息并可视化, 让你知道在每⼀个服务调⽤过程的耗时等情况, 以便及早发现问题.
通过Grpc中间件使⽤
在单体程序中, ⽗⼦Span通过context关联, ⽽context是在内存中的, 显⽽易见这样的⽅法在垮应⽤的场景下是⾏不通的.
垮应⽤通讯使⽤的⽅式通常是"序列化", 在jaeger-client-go库中也是通过类似的操作去传递信息, 它们叫:Tracer.Inject() 与 Tracer.Extract().
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论