《阿里云可观测最佳实践》——6.核桃编程(1)

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 《阿里云可观测最佳实践》——6.核桃编程(1)

6

6 核桃编程

  基于ARMS的核桃编程前端可观测性建设之路


1 关于核桃编程


在互联网时代的今天,新时代家长愈发注重孩子的素质教育,注重培养孩子人工智能方向的才能。少儿编程教育就是在这样的背景下快速发展起来。


核桃编程作为少儿编程教育行业的领导者,致力于以科技手段促进编程教育,通过人工智能、自适应学习等先进技术和科学的教育方法,启发中国孩子的学习能力。自2017年8月成立以来,核桃编程的业务量飞速发展,仅仅3年时间付费学员人数就突破了200万,并实现了单月营收过亿。


2 业务场景 & 可观测需求介绍


随着核桃编程业务快速增长,核心应用的系统规模和系统复杂度经历翻天覆地变化。技术团队不断通过新兴技术手段维护整套系统架构的技术先进性。在3年时间里,技术团队至少对整体系统架构进行了6次以上重大重构,涉及微服务化、容器化、分布式数据库等重要技术,并尝试通过Serverless提升系统弹性伸缩能力。疫情期间,当系统负荷呈现数倍突增,核桃编程的系统架构经受住了考验。


随着系统架构变得复杂,如何提升分布式系统的可观测性成为技术团队面对的重要要挑战。在线上编程教学场景中,用户一个简单的操作,就有可能涉及到前后端系统多次交互,以及多个服务端微服务应用之间相互调用,甚至还会受到第三方服务接口影响。


任何环节出现故障或者性能瓶颈,都会导致用户体验断崖式下跌,而用户体验又是决定品牌形象的核心要素,所以对于核桃技术团队而言,保证优秀的用户体验需要在系统可观测性建设上做到这几个方面:


全面而且实时的了解系统每一个对外接口的性能质量。

通过数据掌握最终用户与系统交互时感受到的系统健康程度。

当系统健康程度存在问题时,技术团队能第一时间发现问题,并及时处理。

处理问题时,能迅速定位到系统瓶颈和故障源。


任何一个技术团队要想围绕着这几个方面,从零开始建设分布式可观测体系,都是一项非常艰巨的任务,好在业界对于分布式可观测性的建设,已经有了不少成熟的方法论以及开源项目可以参考。


通过引入Skywalking,Prometheus等开源技术,核桃技术团队建立完整的分布式可观测体系,能够对服务端复杂微服务应用实现全链路追踪,并通过统一的日志服务体系收集分析业务日志。这样的对于系统稳定性以及用户体验提升是立竿见影的:当系统服务端的任何一个环节出现故障或性能瓶颈的时候,技术团队都能第一时间得到通知,并快速定位问题,进行针对性处理。


相对于成熟的服务端监控技术,整个业界在客户端监控领域的技术方案一直比较欠缺。海量用户使用不同厂家、不同操作系统、不同屏幕分辨率终端设备,分布在不同地域,通过不同网络运营商进行接入,甚至存在复第三方依赖,包括CDN、第三方统计脚本、页面嵌套等方面。当用户体验遇到问题时,如果仅仅拥有服务端监控手段,很难第一时间确认问题的根源到底在于前端还是后端。即便能够排除服务端的问题,前端用户体验也受到页面渲染、JavaScript执行、网络质量、第三方接口服务质量等方面的影响,为进一步排查问题留下了非常多的挑战。


因此,技术团队计划通过前端JavaScript做自定义的埋点,将最终用户的各种行为实时上报给服务端进行统计,以第一时间了解到用户体验。但具体到业务埋点、数据采集、聚合分析、视图展现等层面都有非常多工作需要做,是一个浩大的工程。绝大多数技术团队而言,投入如此多的精力来建设这样一套前端监控方案都是不现实的。


《阿里云可观测最佳实践》——6.核桃编程(2): https://developer.aliyun.com/article/1227051


相关文章
|
开发工具
frp-免费内网穿透
frp-免费内网穿透
2606 0
|
存储 缓存 算法
如何优化阻塞IO的性能?
【10月更文挑战第6天】如何优化阻塞IO的性能?
343 5
|
设计模式 开发框架 Java
分清 PO、VO、DAO、BO、DTO、POJO 含义
分清 PO、VO、DAO、BO、DTO、POJO 含义
1678 1
|
数据采集 存储 JSON
推荐3款自动爬虫神器,再也不用手撸代码了
推荐3款自动爬虫神器,再也不用手撸代码了
1746 4
|
存储 缓存 监控
深入解析JVM内存分配优化技术:TLAB
深入解析JVM内存分配优化技术:TLAB
|
存储 Unix Linux
分布式文件系统协议:NFS(Network File System)网络文件系统
NFS(Network File System)网络文件系统是一种分布式文件系统协议,最初由Sun Microsystems开发,并在1984年首次发布。 NFS允许不同计算机通过网络共享资源,特别是文件和目录,就像它们是本地存储的一部分一样。使用NFS的客户端可以挂载远程服务器上的文件系统,使得用户能够以透明的方式访问远程数据,实现跨多个系统的文件共享。
6771 1
|
监控 调度 Python
电脑监控软件所含的CPU资源监控的代码(使用psutil库)
本文使用psutil库来获取CPU使用率、运行的进程、CPU温度、风扇速度和CPU核心的工作情况。这些信息可用于自定义电脑监控软件的CPU资源监控功能
960 1
|
弹性计算 大数据 测试技术
2024年阿里云服务器价格配置表汇总(轻量服务器、ECS服务器、游戏服务器、GPU服务器)
今天整理了阿里云服务器价格,包含了阿里云轻量应用服务器、阿里云ECS云服务器、阿里云游戏服务器、阿里云GPU云服务器。阿里云服务器租用费用,云服务器ECS经济型e实例2核2G、3M固定带宽99元一年、ECS u1实例2核4G、5M固定带宽、80G ESSD Entry盘优惠价格199元一年,轻量应用服务器2核2G3M带宽轻量服务器一年61元、2核4G4M带宽轻量服务器一年165元12个月、2核4G服务器30元3个月,幻兽帕鲁4核16G和8核32G服务器配置,云服务器ECS可以选择经济型e实例、通用算力u1实例、ECS计算型c7、通用型g7、c8i、g8i等企业级实例规格。
1786 0
|
移动开发 监控 前端开发
《阿里云可观测最佳实践》——6.核桃编程(2)
《阿里云可观测最佳实践》——6.核桃编程(2)
468 0
|
数据采集 传感器 编解码
点云数据处理方法的应用PCL函数库为例的设计与实现_kaic
在计算机视觉和虚拟现实技术的发展过程中,点云数据已成为主要的三维数据表达形式。将点云数据转换成灰值图时,测算每一个像素点周边领域的点云,但是其效率精密度比较低。文中探讨了点云数据的多视图拼凑和滤波处理,明确提出利用三角形面片法解决点云数据,将文件头和三角形面片信息分为两个存放,明确提出掌握坐标原点位置和方向两个核心平面反向值,点云部位转换优化算法。针对点云数据处理的相关技术研发成为近年来的研究热点,基于此,采用Python作为编程语言,并使用开源编程库Point.Cloud.Library,开发了点云数据处理系统。该系统实现了点云数据读取及数据处理、点云视点变换、重建点云效果显示等功能.