0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用NGINX帮助您为突发的流量高峰做好准备的方法

工程师邓生 来源:NGINX开源社区 作者:F.Frances 2022-09-14 14:53 次阅读

在新冠疫情的冲击下,许多零售商的客户都改变了他们假日购物的渠道和方式。

由于人们无法去实体店购物,线上购物迎来了前所未有的新高潮——2020 年美国的电子商务销售额飙升至 1,890 亿美元,比 2019 年增长了 33%。

我们在此提供了几种利用 NGINX 帮助您为突发的流量高峰做好准备的方法。

第 1 步:知己知彼

在调整堆栈之前,最好先了解您需要在多大程度上优化您的网站性能,才能在购物狂欢季有最佳(而不是勉强合格)的表现。

先从收集竞争对手网站的性能数据开始吧。页面加载时间可能是最重要的指标,因为如今许多用户都没有耐心,只要网页加载时间超过三秒,他们就会离开。测量加载时间的工具有很多,并且大多都是免费的。

您可考虑测量以下页面的加载时间:

主页

产品搜索结果

产品详情页面

点击“购买”按钮后出现的确认页面

测试几个竞争对手和您自己的网站的关键页面只需几个小时。(在测量下载时间之前,请务必使用 Shift+Refresh 清除浏览器缓存。)有测量结果的加持,您接下来需要做的是:

制定总体性能指标

对不同的网站来说,从头到尾的整个流程(访问、搜索及购买)共需要多长时间?

确定优劣势

找出您的网站有优势、有竞争力或拖后腿的地方。

注意功能差异

竞争对手如何通过额外的功能提升购物体验?您的网站提供了哪些功能来打造独特的用户体验?

制定计划

如果您的网站在一个或多个方面远远落后于竞争对手,那么您需要努力达到他们的平均响应时间;如果您已拥有很强的竞争力,则努力成为第一名吧。

第 2 步:使用 NGINX

就像那些全球最繁忙的网站一样

2021年的早些时候,NGINX 在互联网 Web 服务器排名中荣登第一宝座。我们很荣幸有这么多网站信任我们,使用我们的产品交付网站和应用,同时我们也非常欢迎您的加入。

然而,NGINX 不仅仅是一个 Web 服务器,它还是一个一体化的软件反向代理、负载均衡器、高速缓存和 API 网关。

NGINX 最重要的优势之一是它可以大大优化进入您网站的流量。您可以将 NGINX 看作是在商店门前管理人流的看门人。

它能够对购物者的操作(HTTP 请求)进行排队和授权,就像把人行道上混乱的人群变成商店内顺畅有序的结账队列。它能够将购物者引导至购物清单上商品的特定位置,确保流量均匀分布,且所有资源都得到均匀使用。

NGINX 主要使用两种开箱即用的技术来实现这一点:

通过使用 keepalive 连接进行 HTTP 卸载,目的是缓冲缓慢到达的 HTTP 请求,并等到它们准备就绪后再将其转发到后端服务器。

相比远端客户端,从 NGINX(位于快速的本地网络)发起的事务的完成速度要快得多。

具有多种算法的成熟的负载均衡,目的是优化流量分布,并尽可能高效地使用服务器资源。

除了优化流量外,NGINX 还提供了以下四种方式帮助您优化网站,并防止流量激增期间出现服务器过载问题

通过高速缓存缩短网页响应时间

通过流量控制管理访客流量

通过按需弹性扩展增加弹性

通过内置安全防护保护客户数据

b5ce944a-3041-11ed-ba43-dac502259ad0.png

1 通过高速缓存缩短网页响应时间

很多功能都会增加在线交易的成功几率,比如点击收藏、线上下单并线下取货,甚至客户支付选项等。NGINX 的内容缓存功能与 Web 流量有着类似的效果。NGINX 会自动存储它发送给客户端的每个文件,并直接利用缓存来处理给定文件的后续请求。

高速缓存不仅可以加快对用户的响应速度,而且还可以减少上游服务器上的负载,因为对于相同的请求,它们不必总是从头开始反复进行处理。内容缓存可以将内部流量减少 100 倍,从而减少服务应用所需硬件的处理能力(具体取决于应用)。

2 使用连接、速率和带宽控制管理访客流量

在最繁忙的时段,出于安全原因(避免过度拥挤)或为了保证重要客户获得优待(VIP 时间、受邀参加的促销活动等等),商店看门人可能需要限制进店购物的人数。Web 应用也需要采取类似的措施。

您可以通过限制进入网站的流量来防止服务器过载,并确保客户端及时访问所需的资源。NGINX(在容器环境中为 NGINX Ingress Controller)提供了一系列限制入向流量的方法,包括:

并发限制 —— 限制转发到每个服务器的并发请求数,以匹配每个服务器中有限的工作线程或进程数

请求速率限制 —— 对每个来自客户端的请求按秒或按分加以限制,以防因支付网关或复杂搜索等服务而出现的服务器过载

带宽限制 —— 控制客户端可以在每个连接中可以下载的数据量

如有必要,您可以区分不同类型的客户端。您商店的配送区可能不会延伸至地球的另一端,或者您希望优先考虑购物车中有商品的用户,您可以利用 cookie、地理位置数据及其他参数来控制 NGINX 应用流量限制的方式。

3 通过弹性扩展避免服务器过载

如果您没有部署适当的基础架构,那么流量激增很容易导致服务器过载。NGINX 的轻量级事件驱动型架构可最大限度提高当前基础架构的应用交付性能。

DevOps 团队还可以利用以下 NGINX 功能来有效应对流量高峰:

在云环境中部署 NGINX 和应用。NGINX 支持在亚马逊科技(AWS)、谷歌云平台和 Microsoft Azure 等主要云环境中使用。

每个云服务提供商都支持自动扩展以调整应用实例的数量,从而响应变化的需求。

在 Kubernetes 环境中部署容器。NGINX Ingress Controller和 NGINX Service Mesh 提供了多种功能,可增强 Kubernetes 应用的弹性。

您可以根据用户需求水平扩展应用 pod,并且几乎不会增加实时用户的延迟。

4 通过内置的安全防护保护客户数据

对于任何网站,特别是对于处理信用卡信息的在线零售商来说,确保交易安全必不可少。网络攻击可能会让品牌声誉受损和吃官司,对此零售商 Target 深有体会。Target 通过增强可视化和安全性解决了 2014 年的数据泄露问题。

为打造市场上最安全的购物体验之一,从而在竞争中脱颖而出,您可实施:

可视化策略,帮助您尽早发现漏洞

在负载均衡器和 Ingress Controller上集中进行身份验证和授权管理,助您实现稳健、易于配置的单点登录 (SSO) 功能

强大的轻量级 WAF 可防范 OWASP 十大安全漏洞和 PCI DDS 漏洞等。

服务网格可确保所有通信均经过 mTLS 加密,从而有效阻止黑客窃取网络上的敏感数据。




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 高速缓存
    +关注

    关注

    0

    文章

    29

    浏览量

    10980
  • DDS
    DDS
    +关注

    关注

    21

    文章

    614

    浏览量

    151732
  • 负载均衡器
    +关注

    关注

    0

    文章

    18

    浏览量

    2554

原文标题:如何应对突发的流量激增和服务器过载问题

文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    雷军官宣小米汽车发布日3月28日 小米汽车回应价格战:已做好准备

    雷军官宣小米汽车发布日 小米汽车回应价格战:已做好准备 小米汽车什么时候发布一直被猜测,现在终于揭晓谜底了,雷军官宣小米汽车发布日就在3月28日。 3月12日早上九点,雷军发布微博称,“3月28
    的头像 发表于 03-12 16:38 412次阅读

    雷军官宣小米汽车发布日 价格战已做好准备

    雷军官宣小米汽车发布日,3月28日小米SU7正式见面。小米汽车回应价格战:已做好准备
    的头像 发表于 03-12 14:40 824次阅读

    梯云物联:革新未来电梯物联网行业,您做好准备了吗?

    解析电梯物联网技术:革新未来电梯行业,您已做好准备了吗?|梯云物联网 据政府有关部门统计,截止2014年底,全国在用电梯的数量已经达到360万台。电梯是一种特殊的垂直交通工具,这么多的电梯每天要运送数千万的乘客上上下下,电梯的安全运行,可靠运行已经成为社会关心的一大话题。
    的头像 发表于 02-28 10:03 135次阅读
    梯云物联:革新未来电梯物联网行业,您<b class='flag-5'>做好准备</b>了吗?

    AI ready是什么?文明的发展需要做好准备

    接入”那么简单,还需要做好“AI ready”。 AI ready及其重要性 AI ready这个概念最早是由飞书提出的,在去年11月末的飞书7发布会上,飞书CEO谢欣提到:“在AI充满想象力的能力面前,企业需要先做到‘AI Ready’。” 这是因为AI大模型虽然有常
    的头像 发表于 01-17 10:19 265次阅读
    AI ready是什么?文明的发展需要<b class='flag-5'>做好准备</b>

    通过 Minitab 为双十一的物流成功做好准备

    今年的双十一已过!现在,正是供应链领军者检查供应链中各个职能的时候,以下是 Minitab 帮助供应链经理为物流做好准备: 预测模型: Minitab 提供了一系列预测模型,包括移动平均线、指数平滑
    的头像 发表于 11-20 10:17 168次阅读

    会展电子票务系统怎么帮助展会做好预约进场体验

      会展票务系统是当今展会的重要组成部分,它可以帮助展会做好预约进场体验。随着数字化时代的到来,传统的人工票务已经不能满足展会参与者的需求。通过引入会展电子票务系统,展会能够提供更加便捷、高效的预约
    发表于 11-14 17:09

    Nginx 如何实现高性能低消耗

    Nginx 是一个轻量级的HTTP 服务程序,相比其他服务器程序如Apache,Nginx占用内存少,稳定性高,并发处理能力强。同时Nginx 还是一个反向代理服务程序,和邮件代理服务程序
    的头像 发表于 11-11 11:31 345次阅读
    <b class='flag-5'>Nginx</b> 如何实现高性能低消耗

    Nginx目录结构有哪些

    什么是NginxNginx是一个 轻量级/高性能的反向代理Web服务器,他实现非常高效的反向代理、负载平衡,他可以处理2-3万并发连接数,官方监测能支持5万并发,现在中国使用nginx网站用户
    的头像 发表于 11-11 11:27 384次阅读
    <b class='flag-5'>Nginx</b>目录结构有哪些

    2024 年最重要的10个人工智能趋势,每个人都必须做好准备

    年最重要的10个人工智能趋势,每个人都必须为它们做好准备。希望到2024年,我们能在解决围绕这项技术的一些棘手问题上取得进展。虽然近年来,由于成本和易用性而导致的
    的头像 发表于 10-10 10:08 503次阅读
    2024 年最重要的10个人工智能趋势,每个人都必须<b class='flag-5'>做好准备</b>

    Nginx的特点和作用 Nginx常用命令和核心配置

    Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器,而且支持热部署,几乎可以做到 7 * 24 小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行
    的头像 发表于 09-01 09:53 362次阅读
    <b class='flag-5'>Nginx</b>的特点和作用 <b class='flag-5'>Nginx</b>常用命令和核心配置

    【昉·星光 2 高性能RISC-V单板计算机体验】使用nginx、ffmpeg和VLC搭建简单视频直播系统

    nginx -s realod 四、推送视频流 4.1 准备摄像头 VisionFive2有4个USB口,另外也有MIPI-CSI接口,因此,可以用USB摄像头也可以用MIPI摄像头。我这里
    发表于 08-27 19:06

    做好准备,拥抱生成式 AI 的世界

    领导者需要根据冷静、客观的事实,以及战略相关性来制定合适的 AI 方法,切忌盲目乐观和不切实际的想法。 为了提供更加冷静客观的评估,IBM 商业价值研究院 (IBM IBV) 联合牛津经济研究院,在 2023 年 5 月开展了一项全球高管调研。近 400 位受访高管就他们在采用生成式 AI 方面
    的头像 发表于 08-24 18:15 381次阅读
    <b class='flag-5'>做好准备</b>,拥抱生成式 AI 的世界

    Versal™ 自适应 SoC 助力 8K 处理 – 为 8K 做好准备(3)

    Rob Green 专业音视频、广播与消费业务高级经理 Versal 自适应 SoC 为 8K 处理做好准备 图1:Versal 器件图 为了获取和传输 8K 视频,接口必须提供 4 倍于其 4K
    的头像 发表于 08-16 08:10 395次阅读

    Nginx日志分割方案

    nginx 默认没有提供对日志文件的分割功能,所以随着时间的增长,access.log 和 error.log 文件会越来越大,尤其是 access.log,其日志记录量比较大,更容易增长文件大小。影响日志写入性能,分割 nginx 日志的
    发表于 06-19 15:05 276次阅读
    <b class='flag-5'>Nginx</b>日志分割方案

    十大CODE V光学设计技巧,帮助您更快构建更好的设计

    拥有明确的工作目标、设计要求和所需的时间表可确保您可以与负责项目各个方面的其他工程和系统设计人员进行充分规划。此外,愿意拥有一定的灵活性也可以帮助您取得成功!机械和封装限制、不断变化的性能需求或不断变化的成本目标等不可预见的挑战可能需要采用新方法
    的头像 发表于 05-24 15:37 1897次阅读
    十大CODE V光学设计技巧,<b class='flag-5'>帮助您</b>更快构建更好的设计