本章节主要和大家介绍SkyWalking 的起源以及目前的发展,接着讲解SkyWalking 的必要性以及和其他APM的对比。最后通过安装SkyWalking和解析SkyWalking架构加深认知。
本章节主要是想通过简单的Demo来实战下SkyWalking,所以首先我们会通过Maven + SpringBoot 体验 SkyWalking 的功能,接着对于SkyWalking的面板指标一一进行解析。最后通过模拟内存溢出和 Jmeter 来了解SkyWalking的一些常见指标。目标是能对 SkyWalking 的性能指标有些概念。
由于目前分布式微服务大行其道,单体应用基本很少出现在生产环境。但是微服务也不是银弹,我们首先会了解微服务的优劣势和常见的架构设计模式。接着通过分布式商城项目来模拟生产环境的系统,安装软件作为基础设施。最后将商城项目结合 SkyWalking。
JavaAgent属于我们工作中接触的多但是了解不多的技能。所以我们将会通过两个实战来了解学习 JavaAgent。接着学习基于字节码插桩和相关的技术栈,特别是ByteBuddy,将是我们的主要学习对象。最后通过实战,巩固 ByteBuddy 学习内容。通过这一章节,对于后续的实现原理大有益处。
在工作中经常会碰到线上调试困难的问题,也正是基于此,产生了 Arthas。我们将会学习到 Arthas 的种种命令,包括 Dashboard,Redefine 等解决实际生产环境调试问题的命令。
SkyWalking的基础之一就是 JVM,所以这块内容我们除了学习 SkyWalking 的探针层架构,还会学习 JVM的 基本知识,这对之后的插件学习也是不小的助力。
链路跟踪作为 SkyWalking的重要功能,必须牢牢掌握。首先我们将介绍链路跟踪,以及链路跟踪的标准 OpenTrace,接着通过之前的商城项目了解链路跟踪在各个场景的应用。然后学习 SkyWalking Agent 和 TraceId 的生成规则以及如何自定义生成规则。最后学习如何通过采样保障应用系统的稳定性。
SkyWalking 目前已经集成了上百款插件,这一章选取了其中几款插件学习,包括 JDBC 插件了解 SPI,RocketMQ 插件 了解跨进程调用 SkyWalking 如何处理,Dubbo 插件学习 RPC。最后了解这些插件的可插拔机制是如何实现的。
传输层是作为承接探针层和服务层的重要一环,我们会学习到序列化框架 ProtoBuf 以及GRPC。接着学习异常情况传输层如何处理。为了防止流量洪峰,使用 Kafka 和 RocketMQ 这两款企业级消息队列进行削峰。
日志作为SkyWalking的附带功能之一,也有着不小的使用率。首先哦我们会学习分布式系统下日志难题,接着了解目前流行的日志框架 Logback 以及它的配置。然后学习MDC 以及MDC的痛点。最后通过 SkyWalking的日志插件,打印TraceId 和 上传日志到SkyWalking用于搜索。
为了应用监控进行闭环,我们得学习SkyWalking的告警。首先通过各个实战,了解 SkyWalking 如何发送告警信息到钉钉,接着学习限流、告警软件的算法-时间窗口,这个很重要哦。为了加深理解,学习告警规则的配置。为了扩展的灵活性,学习发送告警到企业微信和邮件中。
SkyWalking支持各个类型的数据库,这一章节,我们将会学习到SkyWalking 如何与各个数据库进行结合使用。
选课、学习遇到问题?
扫码添加指导老师 1V1 帮助你!
添加后老师会第一时间解决你的问题