练就“华为云秘籍” 助你告别浪涌流量下的系统崩溃

企业动态
如何可以风轻云淡的应对节日促销的浪涌需求,华为云大师为你指点迷津:正面硬刚不是上策,四两拨千斤的太极之力才是制胜之法,在原有的系统基础上配备什么样的中间件,这是决胜促销日的王道。

 双十一,对于每个电商平台来说是不仅是一场大促而同样是一场大考,考验一个商城的关键就在于节日浪涌流量下如何挺住不跪。如何可以风轻云淡的应对节日促销的浪涌需求,华为云大师为你指点迷津:正面硬刚不是上策,四两拨千斤的太极之力才是制胜之法,在原有的系统基础上配备什么样的中间件,这是决胜促销日的王道。

分布式数据库DDM分布式缓存DCS分布式消息DMS,华为云PaaS的三个云中间件采用古老的太极哲学,助你轻松化解浪涌下的系统难题。

崩溃场景一:页面打开龟速 以静制动来化解危机

老板:“什么,怎么每次页面怎么那么慢,限时1天整改完毕!”

开发:“老板,现在代码已经10万行了,重构至少需要3个月,实在很难办啊……”

老板:“听说老师傅有解决方案和关键服务,可以立即使用,去咨询下”。

华为云大师:动静分离,以静制动,快使用缓存技术DCS防浪涌从前端开始

对比各家大厂电商首页,平均大小在150KB大小,假设一天有1000万次访问,则每天至少有1.5TB的带宽,消耗巨大。当然这还不包含各种CSS、JS、Image等信息,为了避免访问数据库、网页渲染,提升网站性能,必须要做动静分离。将页面中信息根据规则把不变、常变的资源区分开来。针对拆分后的静态资源做缓存操作,服务端之前都架设反向代理服务器,用于负载均衡和动静流量整合,明显优势有:

1、流量控制,包含用户流量限流、黄牛流量清洗等。

2、动静分离,缓存前置在数据库、APP之前,可快速解决APP的性能瓶颈问题。

3、方便日志的记录。

“华为云秘籍”的应对之道:

华为云DCS服务:解决源站内容的加速问题,可用于做数据库的前置缓存、反向代理服务器的前置缓存,大大减少了后端服务器的渲染、数据库的访问,提升用户访问的体验。

华为云CDN服务:解决源站内容分发,用户就近访问的问题,可以缓存如通用HTML、CSS、JS、图片等信息,有效加速内容加载速度。

崩溃场景二:数据库垮掉 DDM分库分表隔山打牛

主管:“什么,数据库又挂了,为什么关键时刻总是不行。。。”

员工:“老板,数据量太大了,物理机撑不住了”

主管:“听说华为云有解决方案和关键服务,可以即买即用,马上去咨询下”。

华为云大师:把用户分隔,隔山打牛,逐个击破,快使用分布式数据库中间件ddm防浪涌从前端开始

双十一下即便是普通的网站,比如存有50+万用户数据,当超过200+万评论消息的时,网站访问卡顿,不得不经常处理业务数据,严重制约了业务的发展。对于以上问题,可使用分库分表的中间件,基于用户的ID维度实现水平切分,迅速达到数据库容量的提升,也不需要每隔几个月花费人力物力去考虑扩容等问题。

使用分库分表中间件的优势是显而易见的:

1、 容量可线性100+倍提升,单表可从***到十亿级提升。

2、 性能提升10倍以上,通过集群配置避免了单点接入的平静的问题。

3、 易升级和扩展。

“华为云秘籍”的应对之道:

华为云DDM服务:业界领先的分库分表技术,突破了传统数据库的容量和性能瓶颈,实现海量数据高并发访问。

华为云RDS服务:基于华为云的在线关系型数据库服务,有即开即用、稳定可靠、安全运行、弹性伸缩、轻松管理、经济实用等特点,支持单机、主备或集群模式部署。

崩溃场景三:突发宕机 DMS削峰填谷异步处理

主管:“什么,秒杀活动又挂了,为什么关键时刻总是不行。。。”

员工:“老板,抢购流量蹦一下就提升1000倍,我们余量准备不足,实在是撑不住啊”

主管:“听说华为云有解决方案和关键服务,可以立即使用,马上去咨询下”。

华为云大师:削峰填谷,异步处理 ,快去使用华为云消息中间件DMS

秒杀活动瞬间会有大流量涌入,俗话说“手快有、手慢无”,1000倍的几何级流量增长对任何系统的冲击都太大了。如果系统没有足够的能力,基本上都是:网站访问正常 -> 高流量 -> 网站性能下降 -> 页面加载时间变长 -> 用户反复刷新 -> 网站性能进一步下降 -> 瞬间崩溃。针对秒杀场景,通常需要使用消息中间件,打造一个排队系统来解决问题,核心考虑点:

1、削峰填谷:秒杀期间,将瞬时流量拉平,使得系统得以在处理能力范围内,将所有抢购流量处理完成。

2、异步处理:接受请求和处理请求异步处理,解决两者性能不一致的问题,合理协调资源。

3、 限流:抢购成功率可能只有1%,剩余的99%都是无效流量。让成功抢购到商品的流量进入抢购系统,对系统压力减小很多。

“华为云秘籍”应对之道:

华为云DMS消息服务:完全托管的高性能消息队列服务,提供Http API、TCP SDK、Kafka SDK三种数据访问接口,为分布式应用系统提供灵活可靠的异步通信机制。提供亿级消息堆积能力,帮助系统在峰值情况下从容应对。

本期分享来自华为云的研发老师傅云大师,常年修行于坂田马蹄山下,练就一身“华为云版太极功夫”,善用分布式智慧破解双十一浪涌,助你轻松化解浪涌下的系统难题,下期老师傅准备以一个开源电商系统改造为例,为大家带来更多实践积累,欢迎继续关注。

责任编辑:张燕妮 来源: 51CTO
相关推荐

2017-12-13 16:53:19

华为云

2024-06-28 10:29:18

异常处理Python

2023-11-15 16:46:04

内存Java

2019-03-15 11:07:35

华为云

2021-08-27 21:50:53

公域流量电商

2010-08-11 22:33:23

APC

2024-02-21 20:43:02

Python列表推导式

2009-12-01 11:43:59

浪涌

2010-03-24 14:06:04

APC

2017-11-30 16:40:34

华为云

2018-05-18 14:39:46

华为 华为云

2017-12-21 15:41:11

华为云

2017-07-14 18:29:02

2023-05-05 10:16:39

2020-04-22 14:25:48

云开发高可用架构

2018-05-28 11:22:46

华为云

2011-03-07 12:46:58

2020-07-08 13:26:47

Python
点赞
收藏

51CTO技术栈公众号