成都、贵州核酸检测系统“崩溃”背后的技术原因

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
性能测试 PTS,5000VUM额度
网络型负载均衡 NLB,每月750个小时 15LCU
简介: 9月3日“成都发布”消息称,9月1日,成都市新型冠状病毒肺炎疫情防控指挥部发布《关于在全市开展全员核酸检测的通告》,决定自9月1日至9月4日在全市范围内开展全员核酸检测。9月2日晚,核酸检测系统出现异常,导致采样排队时间过长,核酸检测进度缓慢,给市民群众带来困扰和不便。

9月3日“成都发布”消息称,9月1日,成都市新型冠状病毒肺炎疫情防控指挥部发布《关于在全市开展全员核酸检测的通告》,决定自9月1日至9月4日在全市范围内开展全员核酸检测。9月2日晚,核酸检测系统出现异常,导致采样排队时间过长,核酸检测进度缓慢,给市民群众带来困扰和不便。
image.png

无独有偶,9月3日12时许,贵州省核酸检测系统出现异常,导致用户无法登录。当日16时起,贵州省核酸检测系统逐步恢复。云上贵州大数据公司发布信息表示歉意,并将以此为鉴,全力改进工作。

image.png

顶象业务安全专家认为,核酸检测系统崩溃的技术原因很多,网络带宽、云服务稳定性和资源扩展性、应用系设计、数据库性能以及运维能力都可能影响系统服务。“用户最能直观感受到的一个服务节点。当服务页面出问题后,最先想到的就是应用系统,其实像网络带宽、负载均衡、CDN、数据库性能、运维系统等基础设施和运维能力,都会影响到用户的直接体验。”

顶象业务安全专家建议,应用上线前,企业和单位需要做好应用的容量评估和规划、性能压测以及全链路压测,并制定好故障应急处理流程机制。同时,在运维服务上,尽量选择原厂背后的研发和架构团队做支持。

核酸检测系统的加载过程
成都、贵州等地核酸检测系统频陷崩溃,背后的技术原因会有多种可能。因为应用系统上线运行后,影响系统性能的环节会非常的多。从技术视角看,用户的一个url请求到后台服务,中间要经过多个环节,过程非常复杂。

1、请求发起。浏览器发起url请求、DNS解析、和服务端建立TCP链接、HTTPS协议认证、压缩数据并进行网络传输、接收到结构进行页面渲染

2、网络传输。网络节点路由、数据包封包/拆包、安全防火墙规则和限制、负载均衡/代理服务

3、系统服务。身份验证/权限控制、业务系统、其他依赖的各类应用服务

4、数据存储。缓存、数据库、消息队列、文件等。

可以看到,用户的请求要到达业务系统要经过多个环节,每一个环节都涉及性能上的问题,每一个环节又都有各自可优化的点。

例如,前端发起请求的优化,从浏览器发起url请求,涉及浏览器对域名请求并发数限制、js/css/图片等请求文件大小、请求内容的CDN加速、请求内容的浏览器缓存等。现在大多浏览器都自带开发者诊断工具,可以有针对性的去做性能定位,下图展示了用户的请求情况和单个请求的timing耗时。

image.png
image.png

核酸检测系统“崩溃”的技术原因分析
上面提到的四个流程环节都涉及性能优化,每个环节的快与慢都可能影响到用户的直接体验。核酸检测应用系统出现访问慢、崩溃等情况,可以在以下几方面查找原因。

1、网络带宽。可以类比请求数据传输的高速公路,碰到国庆/春节假期高速免费通行,就可能出现堵车的情况,影响出行速度。对应用系统来说,用户访问量激增,如果网络带宽不够,也会出现网络拥堵,影响页面的加载速度,表现出来的就是页面加载不出来或页面加载出错。

2、云服务平台/基础设施的稳定性和性能。现在云计算服务大范围普及,应用都运行在公有云或私有云上,会使用到云服务器、负载均衡、CDN、云存储、流量带宽等云服务。云服务平台作为基础设施的提供方,提升了应用开发部署和运维的效率和降低了运营成本。

一方面,云服务提供方要保障基础设施的稳定性,基础设施出现问题,会影响的业务系统的稳定性;另一方面,云服务使用方也要合理地采购云服务资源,避免资源不足影响业务系统的正常使用。

3、应用系统自身设计和性能。系统的设计的大框架,决定了应用系统的性能和稳定性。例如,技术上调侃的二维码扫描,如果请求响应传输的就是二维码图片,这种设计就必然限制了接口的性能(一般传输文本即可,文本的数据报文大小远远小于图片)。还有就是应用的部署结构,分布式集群部署的稳定性必然好于单点部署应用,应用系统上线前也要做好性能测试。

4、数据库的性能。数据库的性能会影响到应用系统的性能,应用系统的数据查询、写入会依赖下面的数据库,比如数据库出现慢查询就会导致页面查询变慢。数据库技术比较成熟,一般都会配合缓存使用,提升数据查询的性能。

5、运维系统和能力。运维在应用系统的生命周期中会占到70%以上的时间,高质量的运维系统和服务,能保障应用系统的性能和稳定性。例如故障前的容量管理、预警、巡检、演练、日志管理,故障中的处理机制、oncall、告警、定位和预案执行,故障后的复盘总结、改进措施的落地闭环。相信只有在日常运维上做好了充分的准备,在面对故障问题时才能做到及时快速地处理。

应用系统性能和稳定性能力要求
可以看到,应用系统只是用户最能直观感受到的一个服务节点。页面出问题后,最先想到的就是应用系统,其实像网络带宽、负载均衡、CDN、数据库性能、运维系统等基础设施和运维能力,都会影响到用户的直接体验。

以顶象风控系统(实时决策引擎)为例,看下顶象风控系统在设计和实施时,对系统性能和稳定性上的能力要求(PS:顶象风控系统在性能和稳定性上,支持TPS>5w的集群部署,平均rt<100ms,采用分布式集群部署,支持分钟级系统预警和在线水平扩展)。

设计原则

应用系统的架构设计,要采用分布式设计、集群化部署。

采用微服务架构,无状态设计。

功能内聚,模块化、组件化设计。

面对大流量高并发场景下,要具备一定容错性,有降级保护机制。

动态内容和静态内容分离,静态内容放到CDN,加速访问。

具备可扩展性、可运维性。

部署结构

支持DMZ区、业务区、数据库区、内网区的部署结构,满足网络隔离要求。

支持多机房容灾备份。

支持动态请求代理转发、静态内容CDN托管。

应用系统部署,无状态化,可随时增减节点。

可扩展性

支持配置化、脚本化对接消息队列(kafka、rabbitmq),无需开发,配置即生效。

支持配置化、脚本化对接其他系统api接口,便于在策略中使用。

支持配置化、脚本化对原始业务参数进行转换处理。

支持自定义策略和规则、自定义外部关联数据等各种衍生变量。

日志格式化,支持同步到业务系统或大数据平台。

支持sso对接和二次开发。

支持自定义角色、权限、背景图和LOGO的替换。

支持请求由业务系统路由转发。

可运维性

容器化部署和集群管理,支持快速在线水平扩缩容。

具备系统监控告警功能和机制,对服务器资源、网络状况、API调用、中间件等性能情况进行监控告警。

具备灰度发布功能和机制,分别从应用级、功能级进行灰度发布管理。支持策略灰度上线、上线前进行真实数据试跑和调优。

具备安全管理机制,可针对不同渠道、部门和人员进行权限控制,实现风控策略和运行数据的隔离,并且对策略的变更有版本记录和审核控制。

最后,关于运维,有几点需要特别强调:

1、尽可能采用原厂运维,在运维服务支持上,原厂人员更熟悉,处理技术问题有原厂背后的研发和架构团队支持。

2、上线前评估和压测,任何应用系统上线,都需要做好上线前容量评估和规划(预估请求量和并发量,准备相应机器资源,留足冗余量)、性能压测(稳定性压测和极限压测,为应对短时大并发量做好极限压测,了解系统的性能上限),以及全链路压测(评估整个业务链路上的性能短板)。

3、故障问题处理闭环,定制好故障应急处理机制,从问题预警、进展同步、定位处理,到事后复盘、措施的落地和验证,整个处理闭环做到位,避免问题重复出现。

相关实践学习
Serverless极速搭建Hexo博客
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
定位技术 数据中心
全球历史台风轨迹数据的艰难寻找经历
全球历史台风轨迹数据的艰难寻找经历
535 0
|
机器学习/深度学习 人工智能 运维
输电线路缺陷检测国内外研究现状
随着我国电网系统的不断发展,基层巡检作业负担越来越重,运维成本越来越高,如何实现输电线路部件缺陷的智能化检测变得愈发重要。同时,由于国家《新一代人工智能发展规划》的提出和国家电网"数字新基建"的部署,人工智能应用于电力设备运维的相关技术得到了快速发展,对输电线路部件视觉缺陷准确检测成为亟待解决的关键问题之一。
1494 0
|
6月前
|
存储 缓存 关系型数据库
智能辅助驾驶业务遭遇大表瓶颈,小鹏汽车如何破局?
小鹏汽车在智能辅助驾驶业务中遇到数据库性能挑战,如大表查询慢、频繁更新和存储空间快速膨胀。他们原使用的是社区版PostgreSQL,但随着数据量增长,性能瓶颈日益凸显。为了解决这些问题,小鹏汽车采用了阿里云的PolarDB-PG。 PolarDB-PG 的存储具备弹性扩容的能力,最大可支持 100 TB 存储空间。它的大表优化和弹性跨机并行查询(ePQ),成功解决了社区 PostgreSQL 针对大表的查询和并发更新慢的问题。在小鹏汽车的智能辅助驾驶业务上,实现了每日 TB 级大数据表的 7000 万行更新和大数据表秒级分析查询。
|
6月前
VISSIM模拟上海松江新城小区道路开放及交通状况改善分析
VISSIM模拟上海松江新城小区道路开放及交通状况改善分析
|
存储 机器学习/深度学习 人工智能
美国科技公司裁员时间线◉科技寒冬可视化;3份报告回顾中国开发者2022(可下载);自动驾驶下半场,谁会冲出重围 | ShowMeAI每周通讯 #005-01.07
本期内容关键词:美国科技公司裁员人数与理由整理、InfoQ 中国开发者画像洞察报告 2022、GitHub 2022年趋势与见解、Kaggle 2022年参赛趋势与比赛汇总、自动驾驶下半场谁会杀出重围。
332 0
美国科技公司裁员时间线◉科技寒冬可视化;3份报告回顾中国开发者2022(可下载);自动驾驶下半场,谁会冲出重围 | ShowMeAI每周通讯 #005-01.07
|
传感器 机器学习/深度学习 人工智能
2月10日返工潮即将到来,北京开始部署「快速AI体温检测仪」
AI 技术正在帮助大量即将返回工作岗位的人们,让接触新冠病毒的风险不断降低。
199 0
2月10日返工潮即将到来,北京开始部署「快速AI体温检测仪」
|
供应链
福州:硬核!十条措施支持中小微企业应对疫情共渡难关!
福州十条措施支持中小微企业应对疫情共渡难关!
福州:硬核!十条措施支持中小微企业应对疫情共渡难关!
|
物联网
美国加州发生5.5级地震,物联网技术如何提前预警?
据美国地质勘探局网站消息,北京时间4日9时32分,美国加利福尼亚州莫哈韦沙漠地区发生5.5级地震,震源深度6.8千米。
|
存储 安全 定位技术
16岁日本神童打造日版「健康码」,追踪用户行动数据抗击疫情
16岁日本计算机天才少年加藤(Kato)近日开发了一个使用GPS的行迹记录软件Asiato,可记录用户行踪,同时将数据储存在手机中,不会自动共享,一旦用户确定感染将锁定近几周去过的地方,方便寻找潜在的接触者。加藤5年级就开始编程,下一个目标是做北海道「美团」。