skywalking-java/docs/others/cn/concepts-and-designs/overview-cn.md

2.9 KiB
Raw Blame History

概览

SkyWalking一个开源可观测性平台用于收集、分析、聚合和可视化来自服务和云原生基础设施的数据。SkyWalking提供了一种简单的方法可以让你清晰的查看分布式系统、甚至是跨云环境中。它更像是现代化APM(Application Performance Manager),专为云原生、基于容器和分布式系统而设计的。

为什么要使用SkyWalking

SkyWalking提供了在许多不同场景下观察和监控分布式系统的解决方案。首先与传统方式不同SkyWalking为服务实例提供自动语言探针例如在JavaC#和NodeJS中。与此同时他正准备为Go,C++提供手动语言探针SDK。此外更多语言需要运行时代码风险可控云原生基础设施变得更加强大SkyWalking使用Service Mesh基础网探针收集数据来理解整个分布式系统。通常它为服务服务实例端点提供可观察性能力。

服务服务实例端点的概念在今天到处使用所以我们首先要清楚它们在SkyWalking中的含义。

  • 服务 表示提供相同行为请求的一个服务集合服务组工作负载。当你用语言探针或SDK时你可以定义服务名称。或是SkyWalking使用你定义的名字在Istio这类平台中。
  • 服务实例 表示服务组中的每个工作负载都称作服务实例。就像pods在Kubernetes中一样它不需要是OS中的单个进程。然而如果您正在使用语言探针一个服务实例则实际上是OS中的单个进程。
  • 端点 表示某个服务传入请求的路径例如HTTP URI路径或gRPC服务类+方法签名。

通过使用SkyWalking您可以观察服务端点之间的拓扑关系和每个服务实例的metrics并为服务实例端点设置警报规则。

除此之外您还可以通过使用Zipkin、Jaeger、OpenCensus以及SkyWalking的语言探针或者SDK进行分布式全链路跟踪。

架构

SkyWalking在逻辑上分为四个部分探针平台后端存储和UI。

  • 探针 基于不同的来源是不同的。它们收集数据并根据SkyWalking需求重新格式化。
  • 平台后端 是一个后端服务支持集群部署。它用于聚合分析和驱动从探针到UI的流程。它还提供可插拔能力为不同的数据源如Zipkin、存储器实现和集群管理。您甚至可以使用观察分析语言自定义聚合和分析。
  • 存储 是开放的。您可以选择现有的实现例如ElasticSearch、H2或Sharding-Sphere管理的MySQL集群也可以实现自己的。当然非常感谢您为新的存储实现做出贡献。
  • UI 酷炫且非常强大你也可以自己定制UI匹配后端。

接下来目标是什么?