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

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

3天内不再提示

NGINX 机器人程序流量限制将影响终端用户的体验

S13G_gh_f093cae 来源:陈年丽 2019-08-15 15:22 次阅读

带宽限制结合监视及同步使用效果好。

NGINX 产品管理总监 Liam Crilly 写道,对网站或应用这样的联网数字体验而言,响应性和扩展性就是一切。但即便身处计算资源可按需实时扩展的云弹性时代,当人类点击可被自动化机器人程序代为执行的时候,也很难确保计算资源的高性能了。

互联网时代,机器人程序不算什么新鲜事物。最早的机器人程序于 1988 年左右出现在互联网中继聊天 (IRC) 频道中,数年间便因搜索引擎用其索引网站而成为该互联网操作的主力工具。

1995 年,AOL 使用 WebCrawler,此后,1996 年,谷歌创建了 Googlebot (正式名称为 BackRub)。但早期机器人程序却未必总是出于盈利的目的。1999 年,木马程序 Sub7 和蠕虫程序 Pretty Park 就被释放到了 IRC 中,秘密感染接入特定 IRC 频道的计算机,通过该信道监听指令。

随着机器人程序代码愈趋复杂,其应用也越来越邪恶。有时候机器人程序会被嵌入软件中或作为独立应用(比如 GTbot)安装,黑客开始连接各个机器人程序组建 “僵尸网络”,针对特定网络资源发起协同攻击,以批量虚假请求洪水致瘫目标网络资源。2007 年,别名 “Storm” 的大型僵尸网络感染了约 5,000 万台计算机,在黑客操纵下进行股价欺诈和身份盗窃等一系列犯罪行为。另外,机器人程序和僵尸网络还有一项最令人痛恨的自动化攻击行为——垃圾邮件。2009 年,名为 “Cutwail” 的僵尸网络被用于每天发送多达 740 亿封电子邮件。

但归根结底,机器人程序本身并无善恶之分,坏人手里就是作恶工具,好人手里就是效率提升工具。它们不过是可以自动化重复性任务的聪明程序而已。是好是坏只看你怎么使用。如果是为搜索引擎爬取网站,它们就是十分趁手的工具。你能想象纯靠人力挨个访问网站,并将所有网页索引至可提供搜索服务的数据库中吗?或者,脱开搜索引擎上网?想想都觉得不可能。那么,如果机器人程序本意不想为害,但却仍造成了伤害,会是什么样子呢?比如说,从网页刮取数据。机器人程序并非意图搞瘫网站,但又确实在消耗服务器资源,而且程度达到了严重影响对人类用户的响应度和服务性能的地步。当网站或应用可以通过 AWS 等云提供商自动增加资源实现弹性扩展,失控机器人程序刮取网页的行为就有可能造成灾难性的资金影响了。

互联网服务提供商、内容交付网络和 IT 部门有一系列动作可以限制机器人程序的行为。很多情况下,网络运营商试图检测机器人程序流量并阻止之,比如对机器人程序的资源请求回复 400 响应。但很多机器人程序是无法被这种方法遏制的,它们常会实时切换 IP 地址以规避此类网络封锁。简言之,面对机器人程序,“抵抗是徒劳的”。它们总会找到通往所需资源的路径,影响终端用户的体验。

尽管没什么万能的方法可以挫败机器人程序流量,但带宽限制这种独特的方法还是可以有所贡献的。网络运营商对机器人程序实施速率限制时(也就是对来自特定 IP 的请求数量设上限),机器人程序会通过别的路径获取到自己想要的资源。速率限制很容易被机器人程序检测出来。但面对更难以检测的带宽限制,机器人程序可以采用的通道就相当窄了,无论它们发出多少请求。这种情况下,只要检测到机器人程序流量,攻击 IP 就会被发配“受罚席”,无论它们发出多少请求,都只能收到非常慢的响应。大英图书馆就是 NGINX 用于管理机器人程序流量的一个样例。该图书馆每天收到 1,100 万浏览器请求,每小时处理高达 7,000 个搜索请求。在网络爬虫和其他机器人程序流量持续上升,已升至超出网站总请求量 10% 占比的情况下,大英图书馆知道自己必须拥有一套应对此类流量的解决方案。NGINX 为他们提供了缓解该问题的一套方法,可以降低机器人程序流量对人类网站访问者访问体验的影响。

但这还不是机器人程序流量控制问题的全貌。尽管带宽限制是个有力工具,其功效要与其他两种方法配合使用才能得到充分发挥。带宽限制只有与监视及同步联动,才可以提供层次化的解决方案。监视功能可以使用户通过 API 终端获取 “受罚席” 直观视图,看清有多少请求和 IP 地址被隔离。不用再从令人眼花的日志中费力查找。

但真正在机器人程序对抗战中发挥巨大功用的,是数据同步。NGINX 隔离出来的机器人程序流量在所有 NGINX 安装实例间共享,打造全球反僵尸网络战线,是一种主动式而非响应式的机器人程序流量缓解方法。这就让 NGINX 的服务不仅仅是负载平衡器、反向代理、API 网关和强大而全面的互联网服务平台,还是针对日益严峻的机器人程序流量问题的独特解决方案。与其急于解决无法根除的问题,DevOps 和网络运营团队不如部署 NGINX,配置带宽限制,并采取主动方法来确保自身人类用户获得高性能且不间断的数字体验。

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

    关注

    206

    文章

    26726

    浏览量

    200911
  • 自动化
    +关注

    关注

    28

    文章

    4986

    浏览量

    77612
收藏 人收藏

    评论

    相关推荐

    KeTop T41手持式终端用户手册

    电子发烧友网站提供《KeTop T41手持式终端用户手册.pdf》资料免费下载
    发表于 01-19 09:27 0次下载

    【开源项目】Emo:基于树莓派 4B DIY 能笑会动的桌面机器人

    使用 Autodesk Fusion 360 来设计 Emo 机器人,其中融合了实体和自由形式的建模技术。 为了简化打印过程,我们机器人的主体分成几个部分,方便用螺钉组装。 我们精心考虑了电源的位置,将它
    发表于 12-26 15:18

    LabVIEW的六轴工业机器人运动控制系统

    系统分为算法实现和仿真模块、DSP控制模块、及机器人驱动模块,以验证算法的有效性。 KUKA KRAGILUS工业机器人的实体控制测试:最终,项目工业机器人的实体控制。在LabVIE
    发表于 12-21 20:03

    高动态人形机器人“夸父”通过OpenHarmony 3.2 Release版本兼容性测评

    近日, 搭载KaihongOS的“夸父”人形机器人通过OpenAtom OpenHarmony(以下简称“OpenHarmony”)3.2 Release版本兼容性测评并获颁兼容性证书 。这体现了
    发表于 12-20 09:31

    ROS让机器人开发更便捷,基于RK3568J+Debian系统发布!

    ROS系统是什么 ROS(Robot Operating System)是一个适用于机器人的开源的元操作系统。它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递
    发表于 11-30 16:01

    机器人编程需要什么软件?

    机器人编程需要什么软件
    发表于 11-01 07:34

    Arduino教学机器人的使用教程

    本文档的主要内容详细介绍的是Arduino教学机器人的使用教程
    发表于 09-27 06:53

    教你做个PID控制巡线机器人

    在本项目中,我们学习如何使用带PID控制器的线跟随机器人使用Arduino Nano来解决迷宫。
    发表于 09-25 06:54

    【开源资料】使用ESP32C3超简单制作迷你四足机器人

    用esp8266做过小四足机器人,这次用esp32C3重制了,主要的原因是C3有蓝牙可以用蓝牙遥控非常方便边,随时连接随时玩不占用手机WiFi。 而且esp32C3虽然管脚不多,但在8路舵机的控制
    发表于 09-21 11:15

    ai人工智能机器人

    的运营成本、人力成本还在不断提高(如:办公场地的租金、员工的工资、社保公积金、节假日福利等)。 如今的智能电话机器人,每天的电话拨打量可达800-1000通,相比人工提高了3-5倍,大大缩短了名单的筛选
    发表于 09-21 11:09

    自编程机器人,售后难做吗?

    自编程是如何完成的。 自编程其实也不是很高深的问题。 当用户给出参数时,有时也包括逻辑。 例如用户说,如果设备打开完毕,执行一个命令。 这个例子就包括了一个如果。你的智能机器人只需要生成一个
    发表于 06-08 16:20

    如何快速地让机器人投入生产

    步进电机,我们可以提供的是几个半转或1/4,1/8转。 而机器人电脑,自动处理这些数据,我们要处理的是手指的空间位置,也就是xyz坐标。 然后处理夹具的开关。 所以,我们日常程序必须备份。这些程序可以
    发表于 06-06 16:18

    浅谈儿童陪护机器人

    。步进电机芯片通过控制信号转化为驱动信号,实现了机器人转动的精准控制,从而满足了儿童陪护机器人对转动控制的需求。 在儿童陪护机器人中,步进电机芯片有着广泛的应用场景。例如,儿童陪护
    发表于 05-11 15:12

    扫地机器人是如何实现液位检测的

    至关重要。它可以确保机器按照正确的水量清洁地面,并及时污水清除。在未来,液位检测技术继续得到进一步发展,以提高机器人的清洁效率和便携性。能点科技光电液位传感器灵敏度高,主要供应液位
    发表于 04-15 11:21

    如何实现拥有强悍功能智能巡检机器人

    处理后出具现场状态的巡检监测报告,现场数据可视化。03选型方案经过多轮测试,该厂商最终选择飞凌嵌入式FETMX8MP-C核心板作为这款智能巡检机器人产品的主控平台,以满足客户对机器
    发表于 04-12 15:49