千万级高并发下看天翼云如何为“健康码”突破技术瓶颈
“一码溃,众难行”短短六个字,却是目前疫情反弹、全国严密防控之下,大众生活的直接写照。毫无疑问,作为此次疫情中产生的“速生品”,在经历两年疫情大考之后,健康码已逐渐演变为国人出行的第二张“身份证”。5 月以来,常态化核酸检测成为公众热点话题,在国内疫情多点散发、持续高发的形势下,北京市、上海市、山东省、山西省、江西省等省市纷纷开展常态化核酸检测。
国家卫生健康委新闻发言人、宣传司副司长米锋曾表示:要完善常态化监测机制,省会和千万级人口以上城市建立步行 15 分钟核酸“采样圈”,方便群众就近就便进行核酸采样。开展核酸定期检测,重点行业和人群加大检测频次,提高早发现能力。
同时,全国常态化核酸检测所引发的流量冲击也造成了“健康码”APP、小程序的访问量陡升,多地健康码系统面临更大挑战。在全民化的流量冲击下,传统健康码平台的升级已然势在必行。
后疫情时代,一“码”背后的难题
简单的扫码,亮码,出示核酸结果几个动作其背后其实隐藏着一套庞大且复杂的数据系统。回想疫情初期,当时各地普遍采取了线下收集、手动排查的人海战术,基层人员需要逐一对辖内人口进行排查,信息填报,而健康码系统的出现则一劳永逸解决了这一困境。从线下到线上、从人工到机器,其背后的运行逻辑其实没有发生任何变化。健康码显示信息的背后,其实有着三套庞大的数据体系在做支撑,来自卫健委疾控中心的病例信息、核酸检测信息,来自公安系统的户籍情况与社会关系情况以及来自运营商的活动轨迹信息。
正如我们在开头所提到的,来自多方庞大且繁杂的数据以及全民化、常态化疫情防控所带来的流量冲击,传统健康码平台的升级事实上是必然的结果。
根据分析,健康码面对的主要挑战包含:短期内访问量过大导致的服务器瘫痪、系统容量不足、网络带宽等硬件问题、本身软件的设计缺陷问题等。总结其原因,我们也能够罗列出传统健康码平台出现的三大典型问题:
·基础设施与业务应用设计割烈
IaaS、PaaS 层与业务应用间设计割裂,且未提前进行调测和优化,易出现读写异常等问题,影响健康码正常应用。
·热备及双活容灾能力有限
系统热备及双活架构设计有限,尤其对于异构容灾双活设计不足,针对多码融合等复杂场景及各类突发状况未做充分准备。
·突发峰值应对能力不足
疫情爆发时易出现短时间、大规模、高并发两码查询及核酸检测登记、录入情况,面对突发峰值,在系统能力、资源上应对方面能力不足。
健康码的“问”,天翼云的“答”
针对上述问题,国家发布的《健康码和核酸系统安全平稳运行工作指引 3.0》文件中针对系统应对尖峰流量冲击能力、系统最大承载能力以及拒绝服务攻击能力提出了全新的要求,文件中更是多次强调了内容分发网络(CDN)、快速扩容、热备双活机制等技术措施的重要性。
作为云计算技术领域的“国家队”,中国电信旗下的云计算服务提供商天翼云自然是不遑多让,在第一时间发现传统健康码系统症结的同时,便迅速开展了技术攻坚,并打造了全新的健康码系统上云建设方案。
为了应对特殊时期庞大流量引发的高并发冲击,天翼云搭建的健康码系统与核酸检查系统 QPS(每秒查询率)可达 6 万以上,每小时可相应 2 亿人次的健康码查询/核酸检查数据请求。在应对节点故障或性能不足的突发状况下,为保障健康码及核酸系统的正常运行,该方案可支持 5 分钟内完成快速扩容需求。同时,在底层服务器出现故障时,天翼云搭建的健康码与核酸检测系统能够在 35 秒内自动完成虚机漂移。通过快速将故障虚机的控制转到集群的另一台控制服务器上,使虚机保持正常运行,从而确保了整体系统的高可用性。
天翼云健康码与核酸检测系统 laaS 拓扑主要分为 3 大模块:三线 BGP、两个业务资源池。BGP 机房主要用于三大运营商之间的互联,BGP 的最主要功能在于控制路由的传播和选择最好的路由。使用 BGP 协议互联后,网络运营商的所有骨干路由设备将会判断到 IDC 机房 IP 段的最佳路由,以保证不同网络运营商用户的高速访问。
天翼云健康码解决方案 laaS 层面架构图
在资源池数据中心方面,天翼云采用了双活中心的方案架构设计。何为“双活”中心?如同字面含义一样,双活指的便是由两个数据中心并行运行的模式,在双活架构下两个数据中心都处于运行之中,且互为备份。天翼云双活数据中心在资源配比到业务部署皆为 1:1 配置,且双中心从东西向网络,到核心交换、业务设备的物理链路层面都处于完全隔离的状态。双活中心之间通过 OTN 专线进行互联,数据通过数据链以及 IaaS 层面的高可用方案来保证通信。
天翼云双活中心方案整体架构图
天翼云多中心架构方案使用双节点热备搭建,实现双系统容灾部署模式。正常模式下协同工作,同时可并行提供业务访问服务。在主节点发生故障的情况下,可第一时间实现节点的无感切换,从而支撑业务的连续性。
利用其独有的运营商资源优势,天翼云双活架构选择了与主中心同在一个区域的资源池作为双活中心,通过已建波分环路进行基础网络高速互联,基于负载均衡和分布式集群技术,逐层实现网络双活、应用双活、缓存双活以及数据库双活。
据了解,目前天翼云已在华北、西安、苏州等多地具有 3AZ 部署。
天翼云 SCDN—打破流量瓶颈,重塑安全长城
有果必有因,前文我们介绍了天翼云健康码系统在高并发、高负荷考验下所结出的“果”,接下来我们便要从技术的角度去探索背后的“因”。
在面对每秒数万人次的高并发健康码访问时,无论是双活中心内部数据的高速互联、灾难发生时的业务快速接管亦或是公众用户在边缘端的静态数据访问,传输优化是解决这一系列问题的重中之重,而天翼云 SCDN 解决方案便是那把关键的“钥匙”。
天翼云 SCDN 解决方案共分为三个版本:基础版、标准版与旗舰版。在健康码与核酸检测系统的应用场景中,实际上有 90%的请求来自于静态文件缓存的处理。SCDN 方案基础版实现了将源站的静态数据缓存在边缘节点,用户在发送请求时便可直接在边缘节点上对静态文件做出快速响应。通过提供分布式缓存文件、最近边缘节点加载文件,方案高效解决了集中式文件缓存导致网页加载速度慢的问题。
天翼云 SCDN 基础版拥有着丰富的回源策略,可以实现通过智能传输路径探测选择性能最优路径进行数据传输。同时天翼云 CDN 支持主备、轮询、权重等多种策略,支持 IPV6/IPV4 回源,支持多级缓存收敛。这也使得 SCDN 方案的出现极大地降低了出示健康码时带来的回源压力,回源带宽约是此前整体访问的 10%,回源请求数降低了 50%。除此之外,基础版还包含了便捷的内容管理模块,包含了内容刷新、内容预期、一键封禁等便捷功能。
在保障健康码系统的高可用、高可靠运行之外,由于健康码系统所承载的是最为直接的公民个人信息,如若防护不当可能会造成不可挽回的信息泄露影响,安全也是健康码系统构建中必不可少的重要一环。除了对于传输层面的优化外,天翼云 SCDN 基础版中还有着丰富的 Web 应用防护与 DDoS 高防能力。
天翼云 Web 应用防护服务拥有着遍布全国各个边缘节点的防护能力,能够直接从威胁的源头阻击攻击流量,有效降低源站压力。其 WAF 引擎能够实时检测恶意请求并及时处理,帮助用户提供应对 OWASP TOP 10 攻击,爬虫、域名劫持等网站及 Web 业务安全防护问题。在健康码应用场景中,天翼云 Web 应用防护服务能够提供亮码防护与实时扩容性能,让安全防护不再成为限制整体系统的“性能枷锁”。
天翼云 Web 应用防护架构图
DDoS 攻击作为一种常见且高威胁性的网络攻击手段,凭借其低攻击成本、高防御成本的特性一直以来都是政府企业安全部门的重点关注对象。而对于全民化的健康码系统,做好 DDoS 防护安全自然是系统设计的重要指标。天翼云 DDoS 高防通过 CNAME 接入,可在边缘节点对源站的所有请求进行实时检测和清洗,无需牵引。相较于传统的集中式防护,天翼云 DDoS 通过负载均衡来动态调动资源,就近覆盖用户访问,不存在单点故障风险。而在健康码系统中,天翼云 DDoS 高防提供了亮码防护,属地防护以及云原生架构快速扩容的功能,保障了业务系统不受大流量攻击影响。
天翼云 DDoS 防护效果图
以上就是天翼云 SCDN 方案基础版的功能分析,在标准版中天翼云增加了源站动态查询结果缓存功能,提供了亮码云端在线的能力;而在旗舰版中天翼云 DTS 升级研发了 DB2CDB 能力,实现了源站零请求、亮码永远在线的进阶功能。
总结
中国的健康码数据系统,这个世界范围内拥有最多用户、最多个人数据、可以随时随地掌握疫情个体情况的平台几乎成为了此次国内抗疫的决定性武器。在疫情反复、防控常态化的大背景下,数字化防疫也进入了下半场,健康码系统的升级势在必行。
健康码系统的升级是一场关乎民生的大考,大到系统设计、云网交互能力、安全防护,小到访问方式、业务保障皆需深度考量。在 CSDN 看来,天翼云健康码解决方案无论是双活中心设计在容灾能力的冗余度上,亦或是 SCDN 方案在传输与安全性能所带来的变革式优化上,都让我们有足够的信心,去从容应对疫情防控常态化所带来的挑战。
版权声明: 本文为 InfoQ 作者【天翼云开发者社区】的原创文章。
原文链接:【http://xie.infoq.cn/article/1537824c87771d8298b7a1b11】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论