自建“停课不停学”系统的一些建议

本文涉及的产品
应用实时监控服务-应用监控,每月50GB免费额度
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 我对自建“停课不停学”IT系统的一些建议

我们若已接受最坏的,就再没有什么损失。
—— 戴尔·卡耐基

因为“停课不停学”,钉钉火了,以至于“火”到了求饶的地步,不明觉厉的请看MV:《钉钉本钉,在线求饶》。
钉钉尚且如此,假如是自建“停课不停学”系统的话……
以下,就是我对自建“停课不停学”IT系统的一些建议:

使用云服务

为了应对“在线复工”洪流的冲击,钉钉临时从阿里云扩容了十万台服务器,这样的弹性扩容规模已经不亚于“双十一”。云计算已经成为整个社会的基础设施,我们在自建“停课不停学”系统的时候没有理由不去使用。

当然,云计算不等于服务器,在构建“停课不停学”IT系统时除了云服务器,还有以下这些服务用的上:

  • 视频点播、播放提前录制好的课程,在提供近乎无限的并发点播能力的同时还提供防盗链、健权、加密这些功能。
  • 视频直播、通过专业直播机、PC、甚至手机实时推送视频流到云端,再通过云端分发实时视频。视频直播支持连麦功能,可以进行小规模的互动。
  • 音视频通信 RTC(Real-Time Communication)、提供小范围(20人左右)的低时延互动视频和音频通讯功能,通过就近接入和遍布全球的运营商支持,可以保证全球范围内的高品质互动教学的流畅性。
  • PolarDB云原生数据库、作为一个云原生数据库,PolarDB每个节点最大支持88个vCPU,710G内存,能横向扩展到16个节点,最大可提供1408核的计算能力,单个数据库可扩容到100TB,并可以结合DRDS实现多个数据库的“捆绑”。PolarDB具备5分钟增加节点的快速弹性扩容能力、可以在几十秒内完成10TB级别数据库的备份。PolarDB提供MySQL以及PostgreSQL的100%兼容能力、Oracle数据库的90%以上的高兼容能力,已经开发好的应用基本不用做修改就能使用。

压力测试

为了避免系统在万众瞩目下崩溃、出丑、有必要在上线前就对“停课不停学”系统进行压力测试,以做到心中有数。
压力测试的工具有开源的AB和JMeter、也有商业软件LoadRunner,这些都可以用,但要想更接近实际的应用场景还是建议使用阿里云PTS。
阿里云PTS通过分布在全国的CDN边缘节点可以更好的仿真实际的大并发访问场景,并支持导入开源的JMeter测试脚本。

和PTS配合使用的是ARMS,可以在进行压测的过程中对系统的运行状态进行细粒度的监控。
1.png

(上图来自阿里云官网)

ARMS是一款APM产品,支持对Java和PHP开发的服务器端应用进行接口级别的细粒度监控。通过PTS和ARMS的结合一方面可以了解高压下的系统整体性能水平,另一方面通过ARMS还可以收集应用内部的各接口之间的调用和响应数据,及时发现系统的性能瓶颈点。

优化应用架构

一旦发现系统无法满足性能指标,要进一步提高系统的并发处理能力,通常的做法有五个:

  • 加缓存、为了尽可能避免数据库操作成为系统的瓶颈,可以在应用系统和数据库之间增加缓存服务,将经常需要访问的数据在缓存中保存和直接调用,降低数据库系统的压力。目前最常见的缓存服务就是Redis,在阿里云上的Redis服务有标准版、读写分离版、集群版三种,分别可以提供1万、6万、50万的最大连接。
  • 异步化、假如代码之间采用直接调用耦合的方式,上游模块突然增加的流量,如果下游模块处理不及时就会将系统整个给“拖死”。可以将这样的地方改用消息中间件耦合的方式,上游模块将请求直接丢入消息队列后就直接返回以开足马力处理后续的请求,下游模块从消息队列中获取数据和指令进行后续处理,即便下游模块的处理能力跟不上新增的请求,指令和数据也只会在消息队列里堆积而不会造成系统的崩溃。阿里云的消息队列服务是经过双十一检验过的,能够承受万亿级数据流转、千万级并发、亿级消息的堆积而不影响集群的正常服务。阿里云消息队列服务MQ目前提供RocketMQ版(双十一采用)、AMPQ(RabbitMQ)、微消息队列MQTT版(物联网、活动直播),可以根据需要选择。
  • 限流、假如通过压力测试可以探查出系统的最大处理能力(TPS)来,就可以依据这个数值对系统的进入流量进行限流。阿里云用于流量限流的服务叫做AHAS,可以在突发的流量洪峰到来的时候限制能够进入系统的流量,保护后端的数据库等系统免受冲击,并为系统的扩容争取时间。阿里云AHAS的接入方式有三种:不需要修改代码的Agent方式、通过Kubernetes接入、通过AHAS 的SDK接入。其中支持Agent方式的框架和应用服务器包括但不限于:Dubbo、Spring Boot、Spring MVC、String Cloud Gateway、Zull、Jetty、Tomcat、WebLogic等。
  • 降级、当面临无法应对的流量时可以舍弃部分非重要功能来保障关键功能的运行正常。通过阿里云AHAS可以对不影响整体流程的第三方应用的调用应用降级规则,在异常比例超过一定的阀值时,在降级窗口时间内对第三方服务的所有请求都会快速失败。
  • 隔离、有些对第三方组件或服务的调用会影响系统的整体处理流程,这时就不能对这个服务的调用进行快速失败,这时就可以使用隔离功能,阻止更多的请求进入本服务,直到堆积的请求线程处理完成。在阻止请求进入时可以根据上游应用的重要程度设置不同的资源阀值,保证核心系统能够获得更多的资源。通过AHAS的隔离规则功能可以设置当自身的线程数达到一定的阀值以后从指定应用来的请求都会快速失败。

备用的系统

无论如何,总有一些意外会发生,总有一些你没想到的原因会让系统崩溃,因此事先准备一个静态页面呈现给用户要比将系统的报错信息显示出来要好的多。对于一个“停机不停学”的IT系统,这个静态页面甚至还可以再提供一些视频的静态链接。

阿里云的OSS最适合用来做这个静态页面了。​

目录
相关文章
|
19天前
|
消息中间件 数据采集 运维
一份运维监控的终极秘籍!监控不到位,宕机两行泪
【10月更文挑战第25天】监控指标的采集分为基础监控和业务监控。基础监控涉及CPU、内存、磁盘等硬件和网络信息,而业务监控则关注服务运行状态。常见的监控数据采集方法包括日志、JMX、REST、OpenMetrics等。Google SRE提出的四个黄金指标——错误、延迟、流量和饱和度,为监控提供了重要指导。错误监控关注系统和业务错误;延迟监控关注服务响应时间;流量监控关注系统和服务的访问量;饱和度监控关注服务利用率。这些指标有助于及时发现和定位故障。
60 1
|
2月前
|
编解码 数据可视化 定位技术
8月更新速递丨秋风送爽,EasyTwin产品能力升级不停~
在秋高气爽的季节,EasyTwin于8月进行了全面的产品更新,重点优化了“多元异构数据融合”和“场景编辑及开发能力提升”。此次更新包括GIS数据融合升级、视频融合新增遮罩功能、模型基础能力完善、数字要素功能优化等方面,显著提升了数字孪生场景的地理准确度和编辑效率。此外,新增的第一人称视角漫游、环绕镜头实时更新等功能,增强了用户体验的真实感与沉浸感。蓝图编辑的优化也大幅降低了配置成本,提高了项目开发效率。更多详情,请访问:https://easyv.cloud/market/?t=alinyun。
|
3月前
|
关系型数据库 MySQL 大数据
DataX:数据同步的超音速英雄!阿里开源工具带你飞越数据传输的银河系,告别等待和故障的恐惧!快来见证这一数据工程的奇迹!
【8月更文挑战第13天】DataX是由阿里巴巴开源的一款专为大规模数据同步设计的工具,在数据工程领域展现强大竞争力。它采用插件化架构,支持多种数据源间的高效迁移。相较于Apache Sqoop和Flume,DataX通过并发写入和流处理实现了高性能同步,并简化了配置流程。DataX还支持故障恢复,能够在同步中断后继续执行,节省时间和资源。这些特性使其成为构建高效可靠数据同步方案的理想选择。
299 2
|
3月前
|
监控 Linux Shell
"揭秘!一键掌控Linux服务器健康的秘密武器——超实用系统检查脚本,让你的服务器稳如老狗,告别宕机烦恼!"
【8月更文挑战第14天】服务器宕机或资源耗尽会严重影响业务。为此,你需要一个Linux系统检查脚本来守护服务器健康。它可以自动检测潜在问题如磁盘满载、内存泄漏等,避免服务中断。脚本应包括磁盘空间、内存/CPU使用、系统时间准确性、关键服务状态及系统日志分析等检查项。通过编写并定期运行这样的脚本,可以显著提高服务器的稳定性和可靠性。
56 1
|
3月前
|
监控 安全 搜索推荐
挥别摸鱼现象,内网监控软件护航
在竞争激烈的商业环境中,高效运作对企业至关重要。然而,员工摸鱼不仅降低工作效率,还可能破坏工作氛围,导致人才流失。为此,内网监控软件成为解决方案。例如,**WorkWin** 能监控网页浏览、即时通讯等行为,并灵活分配网络资源;**Dell Network Assistant** 则具备实时报警和数据加密功能;**Broadcom ADX** 提供个性化生产力建议;**OsMonitor** 支持远程控制与屏幕监控。这些工具不仅提升效率,还保护企业信息安全。
33 0
|
3月前
|
安全 数据管理 测试技术
联想服务器问题之产品力打磨如何解决
联想服务器问题之产品力打磨如何解决
37 0
|
SQL 安全 Cloud Native
用NineData三分钟搭建企业数据库安全访问平台,告别数据泄露与删库跑路
面对数据安全挑战,玖章算术公司研发了新一代云原生数据管理平台NineData,系统采用最新的云原生+AIGC技术,支持对内部员工和外部ISV伙伴做细粒度的数据库权限配置和操作审计,提供灵活的生产数据库操作自动化审批流程,内置了数百个数据库安全操作规范和敏感数据保护能力,可以帮助企业规避低级误操作,降低数据泄露和删库跑路的隐患。
638 1
|
业务中间件 数据库 云计算
云上新实践!江西农信完成业务系统不停服迁移
云上新实践!江西农信完成业务系统不停服迁移
137 0