阿里云 SAE 助力修正商城 3 周内提升系统承载能力 20 倍,轻松应对春晚流量

作者:赵世振、刘松伟、朱坪"

从了解阿里云 SAE 到使用 SAE 进行应用架构升级共经历 3 周,这 3 周我们系统能承载的 QPS 从 5000 增强到 10 万提升 20 倍,轻松应对了春晚大促流量洪波。并且,SAE 还帮助我们降低了 20% 的使用成本,研发效率提升 40% ,应用上线周期缩短 40%

———修正集团副总裁,修程

修正集团于 1995 年 5 月由董事长修涞贵先生创立,是集中成药、化学制药、生物制药的科研生产营销、药品连锁经营、中药材标准栽培于一体的大型现代化民营制药企业。旗下业务涵盖医药、健康等多个核心板块,建百年修正,创民族品牌,修正集团连续 12 年蝉联医药制造业百强前十,2023 年度世界品牌 500 强、民营企业 500 强。

项目背景

修正商城,是修正集团电商事业部旗下的 B2C 医药健康类交易平台,以修正药品、健康类食品及保健品为主要交易商品,为用户提供安全放心的网上购物环境。

在 2024 年春节前夕,修正电商事业部面临了前所未有的技术挑战,修正将参与春晚的全民健康好礼派发的活动,且在央视及各大平台进行广告投放,预计流量激增至 16 亿,系统需要承载保底 5 万 QPS,目标 10 万 QPS。 修正技术团队迫切需要升级 APP 架构以应对即将到来的超高并发场景。这一挑战不仅是对技术的考验,更是对修正品牌实力的一次展示。为了应对这次巨大的技术挑战,修正技术团队选择与阿里云云原生团队合作,进行 APP 架构的升级。

流量激增对原有架构的挑战

图片

修正商城原有架构图

尽管修正商城的技术架构在日常运营和小规模节假日期间表现出色,确保了服务的流畅性和稳定性,但在应对春节晚会等大规模流量高峰时,仍然面临明显的性能和扩展性挑战。具体来说,技术挑战主要包括以下几点:

单体应用架构的挑战

  • 扩展性挑战:

    • 原有商城系统是基于单体架构开发的 PHP 应用,所有功能模块全部耦合在一个代码库和一个部署单元中,且原有云主机暂未提供灵活地按需扩展或者缩减资源能力。
    • 基于服务器的部署方式限制了系统的扩展性,紧耦合的单体架构,流量洪峰时,仅增加服务器数量系统性能提升有限,非常耗时也保证不了系统 SLA。
  • 可靠性挑战:

    • 单点故障风险高,系统中单点故障的隐患犹如脆弱的链环,哪怕是最细微的差池,也可能引发连锁反应,致使整个服务体系陷入瘫痪。
    • 当前系统设计上缺省了关键的冗余防护与高可用性策略,这意味着在面临大规模流量洪峰的紧要关头,系统的抗压能力显得尤为脆弱。任何突发故障,都可能导致服务中断,并伴以较长的恢复周期,这对于追求无缝体验与持续运营的目标而言,无疑是一大隐忧。

系统可观测性不足

  • 应用日志存储及实时分析挑战:面对高达十万次每秒的查询需求,随之而来的海量业务日志对现有的服务器存储能力及日志管理方式提出了严峻挑战。传统的磁盘存储方案与手动日志审查手段,在如此庞大的数据量面前显得捉襟见肘,难以胜任快速定位与诊断系统问题的重任,亟需一场革新以适配更高的效率需求。

  • 缺乏系统可观测性:

    • 缺乏完善的监控与报警体系,系统实际运行状态难以实时掌握。
    • 无法对流量、性能、错误等关键指标进行有效监测与分析,无法提前预警,存在极大的运维风险。

QPS目标的巨大差距

  • 现有 5000 QPS(查询每秒请求数)能力,与春节期间需要承载的预计保底 5 万 QPS、目标 10 万 QPS 仍有较大差距,需要迅速提升约 20 倍的处理能力。

所以修正技术团队面临着重构架构的紧迫任务,不仅要解决现有的可靠性和扩展性问题,还要优化系统的监控、日志处理能力,以保证在春节高峰期间提供良好的用户体验,维护品牌形象。

阿里云解决方案

图片

架构升级图

为了应对修正商城在 2024 年春节期间面临的高流量冲击,阿里云提供了全面的架构升级方案,具体解决方案如下:

1. 基础架构迁移与应用拆分

  • Serverless 应用引擎(SAE)应用全托管:

    • 针对原有的云主机方案存在的不足,采用阿里云的 Serverless 应用引擎(SAE)进行全面替代。SAE 无需管理底层服务器,可以根据实际流量需求自动调整资源分配,确保在高并发场景下系统的平稳运行。相比云上虚拟机部署方式,SAE 能够快速响应流量波动,提高资源利用效率,极大简化了运维复杂性。
    • 通过 SAE 的多实例部署,增强了应用的冗余能力,提高了系统的可靠性。
  • 镜像管理与拉取:

    • SAE 支持通过阿里云 ACREE(企业级容器镜像库)拉取应用镜像,简化了部署流程,保证了应用的快速迭代和更新。
    • 开通镜像加速服务,优化弹性效率。

2. 系统可观测性与监控

  • SAE 集成系统监控:

    • 提供基础的系统监控能力,实时监测应用的健康状态和性能指标。
  • SAE 统一日志管理:

    • 使用 SLS(日志服务) 进行日志的统一采集和存储,实现集中管理和实时分析,提升问题定位和解决效率。

业务价值

阿里云提供的解决方案,尤其是 Serverless 应用引擎(SAE)的应用,为修正商城带来了显著的价值。通过架构升级和优化,解决了现有系统中的主要瓶颈,满足了高并发场景的需求,确保了系统的高可用性和稳定性。以下是具体的价值体现:

  • 通过 SAE 弹性策略解决方案,可以从容应对固定周期的业务洪峰,一键启停业务运行环境,极大地提升了资源利用率,比云主机方案节省 20% 以上的硬件成本。 同时省去了原来预估资源、临时部署应用的操作,极大减轻了运维团队的工作量,整体效率提升 40%。
  • 通过 SAE 自带的监控解决方案以及与 ARMS 监控的无缝集成,帮助客户快速、精准定位问题,整体 Bug 处理速度提升 30%。
  • SAE 极致扩缩容的背后是极致的资源利用率,帮助客户整体资源利用率提升近 50%。
  • 通过 SAE 平台对微服务生命周期的管理,上线周期缩短达 40% ,满足业务的快速迭代要求。

修正集团与阿里云合作展望

在修正电商事业部的全面技术革新之旅中,修正电商以阿里云 Serverless 应用引擎(SAE)为核心,成功实现了系统架构的飞跃式升级,这不仅标志着修正自研系统在扩展性、可靠性和灵活性上的重大突破,也开启了运维管理与资源利用效率的新篇章。通过这次升级,修正电商事业部大幅削减了运营成本,同时显著增强了用户的交互体验,巩固了修正品牌在健康市场中的领先地位,并在节假日期间高流量的考验下,依旧确保了交易流程的流畅与高效,稳固了用户对修正电商的信赖。

此番变革深刻启示了云计算技术对于修正集团战略发展的重要性。修正集团视阿里云不仅是技术供应商,更是携手共进的创新伙伴。展望未来,修正集团将深化与阿里云的合作广度与深度,充分利用云计算的弹性伸缩、高效成本控制等优势,为修正自研系统的持续创新与智能化演进注入动力,旨在开创个性化、智能化健康管理服务的新纪元,为消费者带来覆盖更全面、体验更便捷的健康解决方案。

不仅如此,修正电商事业部将以此次成功转型为契机,积极探索云计算在医药健康产业的广泛应用与深度融合,力求在数字化转型的宽广大道上,不断突破边界,引领行业新风向,实现技术与健康的完美交汇,共绘医药健康行业的未来蓝图。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/768937.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

超详细:安装Linux系统、虚拟现实教程

文章目录 一、如何下载并使用VMware虚拟机1.百度搜索vmware2.进入官网点击Workstation Pro链接3.博通注册对应的账号4.博通填写用户名、密码后直接登录会跳转到博通登录页5.个人使用选择个人版 二、国内镜像网站下载(Centos版本)三、镜像系统的安装1.打开…

PCL小笔记

一、常用概念 1,过滤器Filters 消除噪音 2,特征Features 集合点属性:曲面的曲率估计和查询点的法线 通过k-neighborhood计算得到这两个属性作为特征 查找方法:KD-tress、八叉树等 3,关键点Keypoints 可以利用明确标…

Halcon支持向量机

一 支持向量机 1 支持向量机介绍: 支持向量机(Support Vector Machine,SVM)是Corinna Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别表现出许多特有的优势。 2 支持向量机原理: 在n维空间中找到一个分类超平面…

4.整合第三方技术【整合JUnit】

目录 1.创建项目: 2.导入测试对应的starter 3.添加测试对象 3.1 添加Prodcut接口文件 3.2 添加ProdcutImpl文件 3.3 测试类添加测试文件,并开始测试 4.测试类文件解析 4.1.测试类使用SpringBootTest修饰 4.2使用自动装配的形式添加要测试的对象 1.…

LeetCode 算法:路径总和 III c++

原题链接🔗:路径总和 III 难度:中等⭐️⭐️ 题目 给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。 路径 不需要从根节点开始,也不需要在叶…

大模型与机器人精彩碰撞-7月5日晚上八点不见不散!

在瞬息万变的科技时代,新兴人工智能和机器人技术的结合正在引领新一轮的创新浪潮。你是否想成为未来科技的领航者?你是否想了解最前沿的AI与机器人技术?行麦科技重磅推出的“AIGC时代的生存法则”AI系列课,将为你揭开大模型与机器…

数据库操作语言(DML)

数据库操作语言(DML) 文章目录 数据库操作语言(DML)一、四种操作二、数据的插入(增)三、数据的删除(删)四、数据的修改(改)五、数据的查询(查&…

科研与英文学术论文写作指南——于静老师课程

看到了一个特别棒的科研与英文学术论文写作指南,理论框架实例。主讲人是中科院信息工程研究所的于静老师。推荐理由:写论文和读论文或者讲论文是完全不一样的,即使现在还没有发过论文,但是通过于老师的课程,会给后续再…

2024最新Stable Diffusion【插件篇】:SD提示词智能生成插件教程!

前言 今天我们介绍几款可以自动生成提示词的插件。所谓智能生成提示词,就是我们只需要输入非常少量的关键字,插件就会根据关键词提示信息帮助我们生成一系列关键字或者句子作为提示词。下面来和我一起看看吧。 一. SD智能提示词工具 之前的文章中和大…

Java学习 - Redis-Cluster

为什么需要集群 为了高的处理速度 单机redis,官网宣传处理速度为10万命令/秒如果业务需要更高的处理速度,则需要使用集群 为了存储大量数据 一般机器的内存为16-256G如果想要存储更大量的数据,则需要使用集群 分布式之数据分区 因为数据需…

KEYSIGHT是德科技 E5063A ENA 系列网络分析仪

E5063A ENA 矢量网络分析仪 18GHz 2端口 降低无源射频元器件的测试成本 Keysight E5063A ENA 是一款经济适用的台式矢量网络分析仪,可用于测试简单的无源元器件,例如频率最高达到 18 GHz 的天线、滤波器、电缆或连接器。 作为业界闻名的 ENA 系列…

工具:颜色查询 / CMYK颜色查询RGB、HSL、HSV、XYZ的颜色值

一、颜色查询-网址 RGB(90,223,9),#5ADF09 颜色查询,颜色梯度,色彩搭配,色盲模拟 - RGB颜色查询 - 在线工具 - Fontke.com 二、CMYK颜色查询RGB、HSL、HSV、XYZ的颜色值 三、颜色梯度 四、色彩搭配 五、色盲模拟 六、欢迎交流指正

程序员的加油站,各类技术文章,可视化技术,在线源码资源,在线实用工具,数据爬虫接口持续集成更新中

先挂网址:https://wheart.cn 可视化大屏模板与设计,在线预览 上百例可视化模板 技术文章、资源下载等各类资源导航页 echart在线实用demo 各种在线工具提升开发效率 echart在线代码模板

服务器之BIOS基础知识总结

1.BIOS是什么? BIOS全称Basic Input Output System,即基本输入输出系统,是固化在服务器主板的专用ROM上,加载在服务器硬件系统上最基本的运行程序,它位于服务器硬件和OS之间,在服务器启动过程中首先运行&am…

配置Uptime Kuma固定前缀

在做ICT集成项目时,遇到需要对现网接口进行拨测的需求。搜索后尝试使用开源的Uptime Kuma组件完成现网接口拨测。 但该项目有个问题就是默认不支持配置固定前缀,这对现网进行请求转发会造成较大的影响。通过查看该项目的github后找到了问题的解决方案。S…

助力游戏实现应用内运营闭环,融云游戏社交方案升级!

通信能力在所有应用场景都是必备组件,这源于社交属性带给应用的增长神话。 在游戏场景,玩家从少数核心向大众用户泛化扩展的过程,就是游戏深度融合社交能力的过程。 从单机到联机,游戏乐趣的升级 1996 年,游戏界顶流…

Laravel swagger接口文档生成和管理

Laravel swagger接口文档生成和管理 接口开发随着时间推移接口会越来越多,随着多部门之间的协作越来越频繁, 维护成本越来越高, 文档的可维护性越来越差, 需要一个工具来管理这些接口的文档, 并能够充当mock server给调用方使用 这里推荐swagger生成和管理接口文档&…

硅纪元视角 | 1 分钟搞定 3D 创作,Meta 推出革命性 3D Gen AI 模型

在数字化浪潮的推动下,人工智能(AI)正成为塑造未来的关键力量。硅纪元视角栏目紧跟AI科技的最新发展,捕捉行业动态;提供深入的新闻解读,助您洞悉技术背后的逻辑;汇聚行业专家的见解,…

Arthas实战(2)- OOM问题排查

一、 准备测试应用 新建一个 SpringBoot应用&#xff0c;写一段有 OOM bug 的代码&#xff1a; RestController RequestMapping public class JvmThreadController {List<TestWrapper> memoryList new ArrayList<>();GetMapping("/test")public Strin…

Element 的 el-table 表格实现单元格合并

html 部分 <template><div class"index-wapper"><el-table :data"tableData" :span-method"objectSpanMethod" border><el-table-column v-for"(item, index) in tableHeader" :key"index" :prop&quo…