建自己的零售网站wordpress好123
2026/4/6 7:32:33 网站建设 项目流程
建自己的零售网站,wordpress好123,嘉兴seo外包公司,重庆雕塑制作1.概述 在当今微服务架构盛行的时代#xff0c;一个看似简单的前端请求#xff0c;背后往往涉及数十个甚至上百个服务的协同调用。当系统出现性能问题或异常时#xff0c;仅靠传统日志监控往往如同“大海捞针”#xff0c;难以迅速定位问题根源。 正是在这样的背景下#…1.概述在当今微服务架构盛行的时代一个看似简单的前端请求背后往往涉及数十个甚至上百个服务的协同调用。当系统出现性能问题或异常时仅靠传统日志监控往往如同“大海捞针”难以迅速定位问题根源。正是在这样的背景下SkyWalking—— 一款优秀的国产开源分布式链路追踪与性能监控系统应运而生。该项目最初由吴晟华为开发者个人开源于2017年进入Apache孵化器并最终成为Apache顶级项目。截至目前SkyWalking在GitHub上已收获超过25k的Star足以证明其强大的影响力和广泛的应用前景1.1 SkyWalking 是什么SkyWalking 是一个开源的可观测性平台用于从服务、云原生基础设施中收集、分析、聚合和可视化数据。它提供了清晰的分布式系统观测能力并支持跨云、跨集群的统一监控。作为现代化的应用性能监控APM系统SkyWalking 尤其适合云原生和基于容器的微服务架构。核心优势无侵入探针通过Java Agent字节码增强实现监控无需修改业务代码高性能通信采用gRPC进行数据传输效率高、延迟低功能全面支持链路追踪、JVM监控、服务依赖分析、告警等生态友好完美支持Spring Cloud、Spring Boot等主流微服务框架典型应用场景性能瓶颈诊断快速定位慢查询、高延迟接口全链路追踪可视化展示请求在微服务间的完整调用路径服务依赖分析自动绘制服务拓扑识别关键依赖与瓶颈点异常根因定位结合链路、指标与日志迅速定位故障源头容量规划参考基于历史性能数据进行资源预测与扩容决策1.2 主流链路追踪框架对比随着微服务架构的普及分布式链路追踪技术也日趋成熟目前主流的开源方案包括Spring Cloud Sleuth Zipkin需代码埋点侵入性强大众点评 Cat同样需要侵入式埋点接入成本较高Pinpoint韩国团队开发同样基于字节码增强无侵入SkyWalking国产开源无侵入、性能好、社区活跃SkyWalking 与 Pinpoint 均通过字节码注入实现监控对业务代码零侵入是目前企业级APM系统的优选方案。对于国内开发者而言SkyWalking 具有中文文档丰富、社区响应快、与国内技术栈整合度高等优势更值得推荐。2.SkyWalking 架构与原理SkyWalking 核心架构组件逻辑上分为四部分: 探针(Agent)、 平台后端(OAP)存储(Storage)和用户界面(UI)探针(Agent):收集监控数据, 将数据格式化为 SkyWalking 适用的格式然后传递给中间的OAP服务器。OAP:全称即图上的Observabilitiy Analysis Platform 完成数据聚合, 数据分析以及驱动数据流从探针到用户界面的流程存储通过开放的插件化的接口存放 SkyWalking 数据. 你可以选择一个既有的存储系统, 如 ElasticSearch, H2 或 MySQL 集群(Sharding-Sphere 管理),也可以选择自己实现一个存储系统. 当然, 我们非常欢迎你贡献新的存储系统实现。UI一个基于接口高度定制化的Web系统用户可以可视化查看和管理 SkyWalking 数据。SkyWalking 利用Java Agent技术在类加载阶段动态注入监控逻辑无需改动源码// Skywalking通过javaagent在类加载时动态注入监控代码// 不需要修改业务代码publicclassSkywalkingAgent{publicstaticvoidpremain(Stringargs,Instrumentationinst){// 1. 注册类文件转换器inst.addTransformer(newClassFileTransformer(){publicbyte[]transform(...){// 2. 使用ByteBuddy/Javassist修改字节码// 3. 在方法入口/出口插入监控逻辑}});}}这种方式既保证了监控的全面性又实现了对业务的完全透明。关于javaagent知识点请另外自行查阅资料。3.SkyWalking 安装与部署基于上面对Skywalking架构原理的介绍相信大家已经对它已经有了一定的认识了解接下来我们就来开始搭建一个强大的监控系统。3.1 下载安装包去官网https://skywalking.incubator.apache.org/downloads/ 下载我这里选择版本是:v9.7.03.2 解压与调整配置tar-zxvf apache-skywalking-apm-9.7.0.tar.gz解压之后有一个文件夹文件信息如下bin存放一些可执行的脚本比如说启动Skywalking OAP服务的脚本**config**存放配置文件这里是我们需要关注的有OAP服务的配置文件applicaiton.yml。配置项太多了所以这里我随便列举两项看看cluster:# 默认单例部署也可以集群部署比如说通过注册中心nacosselector:${SW_CLUSTER:standalone}storage:# 数据存储默认是内存数据库h2生产环境一般推荐elasticsearch官方也强烈建议selector:${SW_STORAGE:h2}由于我是本地搭建演示就完全按照默认的即可没有做任何修改**webapp**UI服务默认端口是8080但一般这个端口被占用了所以需要修改一下webapp/application.yml我这里改成8181serverPort:${SW_SERVER_PORT:-8181}# Comma seperated list of OAP addresses.oapServices:${SW_OAP_ADDRESS:-http://localhost:12800}zipkinServices:${SW_ZIPKIN_ADDRESS:-http://localhost:9412}3.3 启动服务# 启动OAP后端bin/oapService.sh# 启动UI前端bin/webappService.sh启动后访问http://localhost:8181即可进入SkyWalking监控控制台。4.Spring Boot接入指南在启动命令中添加Java Agent参数-javaagent:/Users/shepherdmy/skywalking/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_nameshepherd-demo01-service -Dskywalking.collector.backend_servicelocalhost:11800项目启动成功之后Skywalking会监控到一个名为shepherd-demo01-service的服务如上图所示。可看到对应的服务名称、实例、接口调用链路等信息服务概览展示服务负载量、接口请求平均响应时间、成功率等关键指标点击服务名进入监控指标概览页实例详情查看实例下的监控指标信息如JVM内存、CPU、GC等情况点击Instance可以查到该服务的实例列表点击实例名进入可以查看这个实例下的监控信息查看实例的jvm信息查看EndPoint端点信息端点可以简单理解为是被监控服务所接收的请求。点击GET:/user/page端点进去可以查看这个请求的监控信息该请求GET:/user/page逻辑是先查询Redis有缓存数据就直接返回没有再根据参数去数据库MySQL查询数据存入Redis之后返回这里详细展示了请求的整个调用链路非常清晰直观。拓扑图可视化服务间依赖关系5.总结SkyWalking 提供多层级的监控指标助力全方位系统可观测层级监控指标示例服务级别P99/P95延迟、请求量、错误率实例级别CPU使用率、JVM堆内存、线程数、GC次数接口端点慢接口TOP10、错误接口TOP5、调用链详情数据库慢SQL查询、连接池状态、执行时间分布SkyWalking 作为一款开源APM系统凭借其无侵入的设计、卓越的性能表现以及活跃的中文社区已成为众多企业微服务监控的首选方案。无论是开发调试、性能优化还是线上故障排查SkyWalking 都能提供强大的数据支持和可视化能力。合理部署与使用SkyWalking不仅能提升系统稳定性还能显著降低运维复杂度是现代分布式系统可观测性建设中不可或缺的一环。本文初步介绍了SkyWalking的核心概念、部署流程与接入实践关于微服务链路追踪的更深层原理、Trace与Span的组成、以及与Log4j2/Logback等日志框架的整合我们将在后续文章中继续探讨。欢迎关注交流共同进步

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询