本文作者:拉勾教育专栏作者 徐俊明
随着互联网时代的发展,很多企业为了快速响应业务的变化,开始使用微服务架构。微服务架构的系统常常被切分为多个独立的子系统并以集群的方式部署在数十甚至成百上千的机器上。-- 《31讲带你搞懂 SkyWalking 》
你好,我是你的 SkyWalking 老师徐郡明。今天呢,我给大家讲解一下APM 系统的概念以及目前市面上常见的 APM 实现,SkyWalking 的整体架构以及 Service、Endpoint、ServiceInstance 等核心概念。
01PART 常见 APM 系统
APM 系统(Application Performance Management,即应用性能管理)
国内比较常见的 APM 如下:
1.CAT: 由国内美团点评开源的,基于 Java 语言开发,目前提供 Java、C/C++、Node.js、Python、Go 等语言的客户端,监控数据会全量统计。国内很多公司在用,例如美团点评、携程、拼多多等。CAT 需要开发人员手动在应用程序中埋点,对代码侵入性比较强。
2.Zipkin: 由 Twitter 公司开发并开源,Java 语言实现。侵入性相对于 CAT 要低一点,需要对web.xml 等相关配置文件进行修改,但依然对系统有一定的侵入性。Zipkin 可以轻松与 Spring Cloud 进行集成,也是 Spring Cloud 推荐的 APM 系统。
3.Pinpoint: 韩国团队开源的 APM 产品,运用了字节码增强技术,只需要在启动时添加启动参数即可实现 APM 功能,对代码无侵入。目前支持 Java 和 PHP 语言,底层采用 HBase 来存储数据,探针收集的数据粒度非常细,但性能损耗较大,因其出现的时间较长,完成度也很高,文档也较为丰富,应用的公司较多。
4.SkyWalking: 国人开源的产品,2019 年 4 月 17 日 SkyWalking 从 Apache 基金会的孵化器毕业成为顶级项目。目前 SkyWalking 支持 Java、.Net、Node.js 等探针,数据存储支持MySQL、ElasticSearch等。SkyWalking 与 Pinpoint 相同,Java 探针采用字节码增强技术实现,对业务代码无侵入。探针采集数据粒度相较于 Pinpoint 来说略粗,但性能表现优秀。目前,SkyWalking 增长势头强劲,社区活跃,中文文档齐全,没有语言障碍,支持多语言探针,这些都是 SkyWalking 的优势所在,还有就是 SkyWalking 支持很多框架,包括很多国产框架,例如,Dubbo、gRPC、SOFARPC 等等,也有很多开发者正在不断向社区提供更多插件以支持更多组件无缝接入 SkyWalking。
还有很多不开源的 APM 系统,例如,淘宝鹰眼、Google Dapper 等等,不再展开介绍了。
本文选自:拉勾教育专栏《 31讲带你搞懂 SkyWalking 》
02PART SkyWalking 架构与概念
SkyWalking 是一个基于 OpenTracing 规范的、开源的 APM 系统,它是专门为微服务架构以及云原生架构而设计的。从 SkyWalking 6.0 开始,SkyWalking 将自身定义为一个观测性分析平台(Observability Analysis Platform,OAP)。
SkyWalking 的核心功能有:
SkyWalking 如下特点:
本文选自:拉勾教育专栏《 31讲带你搞懂 SkyWalking 》
SkyWalking 的架构图如下所示:
SkyWalking 分为三个核心部分:
这里通过电商系统中的一个接口(请求 path 为"/query/userInfo"),来介绍一下 SkyWalking 中的三个核心概念,如下图所示:
1.Service(服务):用户服务是一个提供独立功能的模块,单独部署成一个集群并对外提供服务,这就是 SkyWalking 中的 Service(服务),这与微服务架构中的一个服务几乎是一样的。
2.ServiceInstance(服务实例):用户服务的集群是由多个部署了同一套代码的 JVM 节点构成的,对外提供了相同的处理能力,当请求进入系统时,由接入层进行负载均衡选择一个节点处理请求。用户服务中一个 JVM 节点即为一个 ServiceInstance(服务实例)。
3.Endpoint(端点):服务对外暴露的接口,例如这里的 "/query/userInfo" 接口,或是其他的 RPC 接口,就是 SkyWalking 中的 Endpoint(端点)。
在后面的分享中,这三个概念会频繁的出现,希望你仔细理解这三个概念之后,再开始后续的学习。今天的分享就到这里啦~
版权声明:本文版权归属拉勾教育及该专栏作者,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发布/发表,违者必究。
本文选自:拉勾教育专栏《 31讲带你搞懂 SkyWalking 》