“AI 技术+人才”如何成为企业增长新引擎?戳此了解>>> 了解详情
写点什么

腾讯云 11.11:十分钟内完成弹性伸缩,流量清洗化解 DDoS 攻击

  • 2016-11-11
  • 本文字数:3523 字

    阅读完需:约 12 分钟

一年一度的双十一狂欢节已经来临,这个特殊的节日因为电商们的集体疯狂促销而被赋予了特殊的含义。从往年的数据来看,双十一当天各家平台的成交额和成交量都是在创造着各种数字奇迹,并且每年都保持高速增长。惊人的数据背后也有着不可想象的挑战,特别是在零点之后的几分钟内,数千万的用户在同一时间进行着同样的购物流程,搜索、查看详情、下单、支付等等的每一个环节都需要保证高并发下的高可用性,扩容、冗余、多活、降级、防 DDos 等等的技术都需要渗入到相关的平台架构中。

而对于双十一这样的高并发访问场景,很多中小型电商并不具备相对应的运维能力,所以他们开始借助专业的云服务商来解决这些棘手的问题。这其中,腾讯云就为用户提供了 11.11 电商解决方案,核心能力包括弹性扩容、抵御刷单等,蘑菇街、聚美优品、当当、有货、唯品会、小红书、楚楚街等知名电商平台都基于他们的云服务构建了自己的业务架构。为了了解腾讯云电商解决方案的技术细节,InfoQ 记者采访了其资深架构师罗志。

电商架构

每家电商都有自己各自的业务特色和技术栈,具体落实的架构不尽相同;但是在我看来,有一些规律可以遵循,这里对不同的电商架构情况进行下分类介绍。各电商业务的架构一般比较类似,都是 4 层架构,即接入层、逻辑层、cache 层和数据库层。

近年来,随着抢购、秒杀的兴起,要求电商后台需要能够有集中时间内应对大请求量的处理能力,因此,在对接入层、逻辑层的按需、实时、快速平行扩展能力就提出了较高的要求。同时由于国内日渐猖獗的羊毛党黑产的泛滥,因此电商业务对腾讯云的基于大数据的恶意用户识别——天御系统,也有了越来越多的需求。

在考虑电商业务架构的时候,以接入层为例,在以往非云架构时,业务往往只会选择一个接入中心,虽然有 BGP 的接入,但毕竟受限于物理距离,故对距离接入中心较远的地区的覆盖,依然是存在不足的,这个问题在移动端 APP 访问时,变得尤为突出。因此在这里,建议更多的考虑如何复用公有云在全国各可用区间强大的内网专线能力,通过反向代理等技术,实现全国多接入中心的接入能力。

但若按业务架构的物理部署而言,又可以大致分为传统和新兴电商两类。其中传统电商,在初创时即使用自有 IDC,故仅在公有云上部署其接入、逻辑、cache 层,充分复用公有云的 BGP 接入及弹性的能力,同时又以专线将腾讯云与其私有 IDC 数据中心连接成为混合云。

而以小红书为代表的新兴电商,由于其是完全在腾讯云上成长起来的业务架构,故会将全部业务架构部署在云端,充分享受云带给其的低运维成本和低架构成本,而将全部重心投入在业务发展上。

如果某家电商客户同时采用了其他家的云服务或者自由 IDC,那么我认为混合云是一个比较好的发展方向,无论是双云混合还是自有 IDC+ 云。如果是双云架构,建议以双云容灾,一个为主一个为备作为主要的考虑方向。而如果是构建混合云,则以充分利用云的弹性及 BGP+ 多地接入节点作为主要的考虑方向。

怎样做到弹性伸缩

弹性伸缩(Auto Scaling)根据业务需求和策略,自动调整计算资源。可根据定时、周期或监控策略,恰到好处地增加或减少 CVM 实例,并完成配置,保证业务平稳健康运行。

腾讯云目前的弹性伸缩请求响应时间是 5-10 分钟,扩容时间视客户镜像大小而定,一般 10 分钟以内。同时并发扩容数,无限制。我们的实现是基于业务无状态层的,可自定义策略的弹性伸缩能力。

整体架构如下图:

这里可以举一个我们的客户案例进行分享,江苏盛瑞面临的挑战有三点:

  1. 动辄需要数千台规模的扩容,需要稳定、海量资源的后台

  2. 过去需要 2 个以上运维人员晚上加班手工扩容,耗时大半天,费事费力

  3. 机器数量巨大,希望找到计费更精确的云平台,节省费用

经过我们的努力最终实现了 2.5 小时完成两次自动扩容,共扩充接近 3000 台高配服务器,此后又完成自动缩容;全程零故障,零人工参与,顺利度过高峰。

尽可能地周全监控服务

对于监控,我们会考虑到云服务器 CPU 利用率、内存利用率、磁盘利用率以及云数据库、Memcached 高速存储等各项云服务负载和性能指标,通过直观图表展示出来。

在设计和实现监控时,我们考虑到了需要支持配置多种指标的告警触发阈值,每个策略可关联不同云产品。设为默认告警策略后,自动关联该策略,然后还支持自定义告警接收人和发送渠道。关于自定义告警通道服务,我们预留了告警上报接口,客户可以自己通过监控脚本产生自定义的告警,通过告警上报接口,即可将告警内容上报给云监控,平台会及时推送给客户。

同时,不单是监控,云 API 几乎覆盖所有可以以 API 方式对外提供服务的云产品并持续迭代。新产品上线时均同步推出对应 API。所有接口均以 https 方式对外提供,并通过签名机制对调用者身份进行鉴权,充分保证 API 请求的安全性和合法性。在调试上,腾讯云提供了云 API 的调试工具,方便开发者快速调试 API 接口,并提供了丰富的代码示例共开发和参考。

电商业务离不开图片处理

作为电商,图片支持需求是绕不过去的;对应到技术上,需要对商品图片进行存储和识别。这里重点谈谈我们的图片内容识别技术:DeepEye 内容识别引擎。

DeepEye 是由 SNG 优图实验室、TEG 信息安全部联合研发的图像识别引擎,基于海量数据与深度学习技术研发,旨在打造百亿处理级别的高可用、高准确图片内容检测识别系统,对行业内各大产品 UGC 图片 / 视频类数据进行主动色情检测,改变了信息安全领域依赖人工发现恶意内容的模式,升级为机器自动发现 + 人工辅助的 AI 模式;DeepEye 技术在鉴黄上的精度达到 99.95%,在多次业务评测中保持业界领先;在腾讯公司内部已接入包括 Qzone、头像、Q 群、朋友圈等绝大部分图片与视频业务,极大降低了业务监管风险;并联合腾讯云搭建了万象鉴黄、天御等品牌向公司外部客户提供多媒体内容检测服务,迄今接入了包括快手、大众点评、京东、大智慧、斗鱼等数十家领域内标杆公司,极大程度上解决了人力审核上的痛点并获得了好评。

这里不得不重点提一下 DeepEye 技术的创始团队:SNG 优图实验室,这支人工智能团队是腾讯公司布局前沿技术的一张王牌。从 2012 年成立至今,优图团队从寥寥数人已成长为具备近百人规模的算法研发团队,并于今年从原有社交平台部架构中独立出来,成立了优图实验室,专门从事机器学习、计算机视觉、音频分析等人工智能领域前沿科技的研发与产品落地。其实除了图像内容识别方面的能力,该团队的人脸识别、声纹识别等能力在国际比赛中创造了世界纪录。

越来越受到重视的安全技术

电商常见的三种困扰:恶意刷单、DDos 攻击、域名劫持,这里和大家分享其中两个。

处理恶意刷单需要积累恶意用户库、有效判定、处理执行。恶意用户的积累需要长久作战,收集 IMEI、QQ、微信、手机号码、身份证号、IP 等全方位的信息;需要基于大数据做到一处作恶、多处识别。

关于 DDoS 攻击的处理,我想谈谈锤子科技的这个案例。2015 年锤子坚果手机发布会,遭到攻击导致直播暂时,高达数十 G 的量攻击,锤子商城一度面临全面瘫痪风险。

此时腾讯云介入,在锤子官网域名的 DNS 配置里面加一条 CNAME,将相应域名解析到大禹,CNAME 功能会把用户流量的请求先路由到大禹的加速点,然后由大禹的加速点清洗、过滤,再吐回到原站,顺利化解了攻击。从启动预案,接入客户网站,到启动清洗,13 分钟内一气呵成,数十 G 的攻击流量均被大禹系统成功清洗,让锤子科技官网恢复正常,保证了现场发布会召开后 274 万在线用户的顺畅观看。

未来展望

又是一年电商狂欢时,能做的还有更多,更多的腾讯能力不断的跟广大云计算用户的需求相适应,结合电商我们可以做的更多,电商正在面临的转型问题和最新行业发展趋势,腾讯云电商解决方案还提供多样化的产品与服务。例如,许多电商正在尝试的“直播”模式,腾讯云的视频解决方案能够提供全方位、立体化的技术支持,支持直播应用在 24 小时内完成快速对接,拥有完整的直播能力,实现稳定的用户体验,这将为更多电商平台尝试“直播 + 电商”模式提供更多可能性。

而在人工智能层面,腾讯云基于腾讯 18 年的社交大数据经验提供准确的图片识别能力,可对不良内容进行准确甄别,识别精确度达 99.95%,节省用户 95% 的人力 ; 同时,腾讯云提供智能语音服务,日核查语音时长提升 31 倍,服务满意度提升 23%,从资源设备到人力成本全面实现优化。使用腾讯云智能语音服务后,珍爱网语音质检业务的覆盖率从 3% 提升到了 100%,质检效率提升 31 倍。与传统人工方式相比,同样数量的通话录音,质检成本仅为原来的 10%。

嘉宾介绍

罗志,腾讯云资深架构师。 2005 年加入腾讯,先后在腾讯集团内负责过系统运维、DBA、游戏运维、游戏运营规划、腾讯云售前架构师团队。目前主要致力于帮助合作伙伴评估、规划、重构系统架构,建立满足其业务未来至少 2-3 年发展需要的云端架构整体解决方案。

2016-11-11 04:004012

评论

发布
暂无评论
发现更多内容

Go 并发编程 — 深度剖析 sync.Pool 源码级原理

奇伢云存储

并发编程 云存储 Go 语言

绍兴柯桥3Dmax效果图培训到哪里?兴德

Geek_196d9f

“丝绸之舟”创新区块链帮扶模式

CECBC

区块链 丝路

通用连接池帮你解决资源管理难题

万俊峰Kevin

MySQL redis mongodb pool Go 语言

python 常用模块详解

若尘

模块 Python编程 5月日更

掌握学习方法,成为技术大牛

实力程序员

腾讯云实名认证流程

三掌柜

5月日更

签了!百度智能云携手浙江广播电视集团共推媒体数智化转型

百度大脑

媒体 百度智能云

Bzz算力挖矿系统开发节点部署

薇電13242772558

数字货币 算力

【Flutter 专题】120 Flutter & 腾讯移动通讯 TPNS~

阿策小和尚

5月日更 Flutter 小菜 0 基础学习 Flutter Android 小菜鸟

Nginx调试必备的几种技能

运维研习社

nginx 运维 实用技巧 5月日更

聊聊数据分析

数据社

数据分析 5月日更

Java设置Filter过滤了CSS等静态文件的问题

空城机

Java 5月日更

k8s 集群下微服务 pod 的各种指标信息监控

Damon

微服务 5月日更

访问控制

escray

学习 极客时间 安全 5月日更 安全攻防技能30讲

选择排序&插入排序 - DAY 15

Qien Z.

排序算法 插入排序 5月日更

华为推送踩坑记录

mengxn

微服务注册中心:Consul——概念与基础操作

程序员架构进阶

微服务 Consul 注册中心 28天写作 5月日更

5分钟速读之Rust权威指南(九)

wzx

rust

Dubbo 路由规则之标签路由

青年IT男

dubbo

redis在微服务领域的贡献

捉虫大师

redis dubbo RPC 协议 注册中心

网络攻防学习笔记 Day25

穿过生命散发芬芳

5月日更 网络攻防

架构学习笔记:微服务架构与SOA架构

风翱

微服务 SOA 5月日更

Feed流系统重构-架构篇

勇哥java实战分享

架构 RocketMQ 分库分表 ShardingJDBC redisson

密码学系列之:memory-hard函数

程序那些事

加密解密 密码学 程序那些事

记一次与写作朋友的线下沙龙

架构精进之路

技术交流 杂记 5月日更

小傅哥,一个有“副业”的码农!

小傅哥

Java 小傅哥 技术成长 码农副业

320万开发者在用的飞桨,全新发布推理部署导航图:打通AI应用最后一公里

百度大脑

人工智能 飞桨

把数字人民币打造成全球最佳的央行数字货币

CECBC

金融

从寻人到航天,科技与公益的下一个交汇点正在“星辰”中诞生

脑极体

ThreadLocal内存溢出代码演示和原因分析!

王磊

Java 多线程

腾讯云11.11:十分钟内完成弹性伸缩,流量清洗化解DDoS攻击_架构_罗志_InfoQ精选文章