You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by GitBox <gi...@apache.org> on 2020/04/23 07:22:45 UTC

[GitHub] [skywalking-website] rootsongjc commented on a change in pull request #92: blog: SkyWalking support MOSN

rootsongjc commented on a change in pull request #92:
URL: https://github.com/apache/skywalking-website/pull/92#discussion_r413573134



##########
File path: docs/zh/blog/2020-04-28-skywalking-and-mosn.md
##########
@@ -0,0 +1,125 @@
+# SkyWalking 支持云原生网络代理 MOSN 做分布式追踪
+
+作者:[Jimmy Song](https://jimmysong.io)、[张伟](https://github.com/arugal)
+
+日前,观察性分析平台和应用性能管理系统 SkyWalking 完成了与云原生网络代理 MOSN 的集成,作为 MOSN 中的支持的分布式追踪系统之一,旨在实现在微服务和 Service Mesh 中的更强大的可观察性。
+
+## 背景
+
+相比传统的巨石(Monolith)应用,微服务的一个主要变化是将应用中的不同模块拆分为了独立的进程。在微服务架构下,原来进程内的方法调用成为了跨进程的远程方法调用。相对于单一进程内的方法调用而言,跨进程调用的调试和故障分析是非常困难的,难以使用传统的代码调试程序或者日志打印来对分布式的调用过程进行查看和分析。
+
+![img](https://tva1.sinaimg.cn/large/007S8ZIlly1ge3oukfgezj30pj0d5t9l.jpg)
+
+如上图右边所示,微服务架构中系统中各个微服务之间存在复杂的调用关系。
+
+一个来自客户端的请求在其业务处理过程中经过了多个微服务进程。我们如果想要对该请求的端到端调用过程进行完整的分析,则必须将该请求经过的所有进程的相关信息都收集起来并关联在一起,这就是“分布式追踪”。
+
+以上关于分布式追踪的介绍引用自 [Istio Handbook](https://www.servicemesher.com/istio-handbook/practice/distributed-tracing.html)。
+
+## MOSN 中 tracing 的架构
+
+MOSN 的 tracing 框架由 Driver、Tracer 和 Span 三个部分组成。
+
+Driver 是 Tracer 的容器,管理注册的 Tracer 实例,Tracer 是 tracing 的入口,根据请求信息创建一个 Span,Span 存储当前跨度的链路信息。
+
+![img](https://tva1.sinaimg.cn/large/007S8ZIlly1ge3ouldo7ej316u0gdq44.jpg)
+
+目前 MOSN tracing 有 [SOFATracer](http://github.com/sofastack/sofa-tracer) 和 SkyWalking 两种实现。SOFATracer 支持 http1 和 xprotocol 协议,将 trace 数据写入本地日志文件中。SkyWalking 支持 http1 协议,将 trace 数据通过 gRPC 上报到 SkyWalking 后端服务。

Review comment:
       This has been update at the latest commit by @arugal 




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org