一次假期故障引发的性能优化思考

在假期某个夜黑风高的晚上,商家正在直播间如火如荼的做着直播,突然间屏幕卡顿,随后屏幕上出现大大的“404”,紧接着大量的客诉、告警扑面而来。好在有赞教育的技术团队响应及时,再经过很短时间的问题分析后,迅速的恢复了系统,保障了商家直播顺利进行。这故障到底是怎么产生的呢?经排查是因为在流量高峰时,系统在性能、可用性方面存在不足导致的。那当时你们是怎么处理的呢?接下来,我会重点从性能优化这块出发,先普及下性能优化的基本概念,然后再简述下常用的性能优化手段,最后给出这个故障我们当时的应对之道。 一、什么是性能优化 正如熵增定律描述的那样,在一个孤立的系统里,…

Read More

记一次dubbo服务发现导致的OOM

  7月份某个平凡的下午,我们突然收到大量的线上告警:应用A的老年代内存使用率大于95%。登陆到监控管理平台可以看到3点半之后该应用的老年代内存使用率一路飙升,直逼100%,接着年轻代也一路上升。 图1 我们查看了一下进来的请求也很平稳,并没有突然爆发,那这个地方的罪魁祸首会是谁呢?为了方便读者接下来的阅读,在介绍这次故障之前,我们首先介绍一下我司的dubbo服务发现的流程。 dubbo服务发现流程   我们的开发人员在使用远程服务的时候首先需要配置一个dubbo xml文件或者在使用的地方加上@Reference,二者都是用来对dubbo消费者引用服务进行一些配置,然后应用在启动的时候会将配置信息转化为一个ReferenceBean对象,并调用createProxy方法创建一个远程服务接口的代理对象。因为我们的消费者并不是和服务端直接地址相连的,…

Read More

领域驱动设计(DDD)在有赞教育线索资源管理的实践

一、项目背景 教育领域,完整的流程板块包括:招生拓客、线索管理、教务管理、学员管理、互动督学、口碑传播。首先,在招生拓客环节,会通过线上营销工具或线下地推方式收集潜在的学员线索信息,并录入到线索管理系统中。在线索管理环节,会采用线索资源管理系统对收集的线索做统一管理,并将潜在学员转为真正的学员,提供给后续的教务管理使用。可见,线索管理在整个教育领域承担着承上启下的作用,重要性不言而喻。 此项目业务场景总览见图1-1,整个项目分为两大业务域,分别是线索域、配置中心域。…

Read More