帶寬限制結(jié)合監(jiān)視及同步使用效果好。
NGINX 產(chǎn)品管理總監(jiān) Liam Crilly 寫道,對(duì)網(wǎng)站或應(yīng)用這樣的聯(lián)網(wǎng)數(shù)字體驗(yàn)而言,響應(yīng)性和擴(kuò)展性就是一切。但即便身處計(jì)算資源可按需實(shí)時(shí)擴(kuò)展的云彈性時(shí)代,當(dāng)人類點(diǎn)擊可被自動(dòng)化機(jī)器人程序代為執(zhí)行的時(shí)候,也很難確保計(jì)算資源的高性能了。
互聯(lián)網(wǎng)時(shí)代,機(jī)器人程序不算什么新鮮事物。最早的機(jī)器人程序于 1988 年左右出現(xiàn)在互聯(lián)網(wǎng)中繼聊天 (IRC) 頻道中,數(shù)年間便因搜索引擎用其索引網(wǎng)站而成為該互聯(lián)網(wǎng)操作的主力工具。
1995 年,AOL 使用 WebCrawler,此后,1996 年,谷歌創(chuàng)建了 Googlebot (正式名稱為 BackRub)。但早期機(jī)器人程序卻未必總是出于盈利的目的。1999 年,木馬程序 Sub7 和蠕蟲程序 Pretty Park 就被釋放到了 IRC 中,秘密感染接入特定 IRC 頻道的計(jì)算機(jī),通過(guò)該信道監(jiān)聽指令。
隨著機(jī)器人程序代碼愈趨復(fù)雜,其應(yīng)用也越來(lái)越邪惡。有時(shí)候機(jī)器人程序會(huì)被嵌入軟件中或作為獨(dú)立應(yīng)用(比如 GTbot)安裝,黑客開始連接各個(gè)機(jī)器人程序組建 “僵尸網(wǎng)絡(luò)”,針對(duì)特定網(wǎng)絡(luò)資源發(fā)起協(xié)同攻擊,以批量虛假請(qǐng)求洪水致癱目標(biāo)網(wǎng)絡(luò)資源。2007 年,別名 “Storm” 的大型僵尸網(wǎng)絡(luò)感染了約 5,000 萬(wàn)臺(tái)計(jì)算機(jī),在黑客操縱下進(jìn)行股價(jià)欺詐和身份盜竊等一系列犯罪行為。另外,機(jī)器人程序和僵尸網(wǎng)絡(luò)還有一項(xiàng)最令人痛恨的自動(dòng)化攻擊行為——垃圾郵件。2009 年,名為 “Cutwail” 的僵尸網(wǎng)絡(luò)被用于每天發(fā)送多達(dá) 740 億封電子郵件。
但歸根結(jié)底,機(jī)器人程序本身并無(wú)善惡之分,壞人手里就是作惡工具,好人手里就是效率提升工具。它們不過(guò)是可以自動(dòng)化重復(fù)性任務(wù)的聰明程序而已。是好是壞只看你怎么使用。如果是為搜索引擎爬取網(wǎng)站,它們就是十分趁手的工具。你能想象純靠人力挨個(gè)訪問(wèn)網(wǎng)站,并將所有網(wǎng)頁(yè)索引至可提供搜索服務(wù)的數(shù)據(jù)庫(kù)中嗎?或者,脫開搜索引擎上網(wǎng)?想想都覺(jué)得不可能。那么,如果機(jī)器人程序本意不想為害,但卻仍造成了傷害,會(huì)是什么樣子呢?比如說(shuō),從網(wǎng)頁(yè)刮取數(shù)據(jù)。機(jī)器人程序并非意圖搞癱網(wǎng)站,但又確實(shí)在消耗服務(wù)器資源,而且程度達(dá)到了嚴(yán)重影響對(duì)人類用戶的響應(yīng)度和服務(wù)性能的地步。當(dāng)網(wǎng)站或應(yīng)用可以通過(guò) AWS 等云提供商自動(dòng)增加資源實(shí)現(xiàn)彈性擴(kuò)展,失控機(jī)器人程序刮取網(wǎng)頁(yè)的行為就有可能造成災(zāi)難性的資金影響了。
互聯(lián)網(wǎng)服務(wù)提供商、內(nèi)容交付網(wǎng)絡(luò)和 IT 部門有一系列動(dòng)作可以限制機(jī)器人程序的行為。很多情況下,網(wǎng)絡(luò)運(yùn)營(yíng)商試圖檢測(cè)機(jī)器人程序流量并阻止之,比如對(duì)機(jī)器人程序的資源請(qǐng)求回復(fù) 400 響應(yīng)。但很多機(jī)器人程序是無(wú)法被這種方法遏制的,它們常會(huì)實(shí)時(shí)切換 IP 地址以規(guī)避此類網(wǎng)絡(luò)封鎖。簡(jiǎn)言之,面對(duì)機(jī)器人程序,“抵抗是徒勞的”。它們總會(huì)找到通往所需資源的路徑,影響終端用戶的體驗(yàn)。
盡管沒(méi)什么萬(wàn)能的方法可以挫敗機(jī)器人程序流量,但帶寬限制這種獨(dú)特的方法還是可以有所貢獻(xiàn)的。網(wǎng)絡(luò)運(yùn)營(yíng)商對(duì)機(jī)器人程序?qū)嵤┧俾氏拗茣r(shí)(也就是對(duì)來(lái)自特定 IP 的請(qǐng)求數(shù)量設(shè)上限),機(jī)器人程序會(huì)通過(guò)別的路徑獲取到自己想要的資源。速率限制很容易被機(jī)器人程序檢測(cè)出來(lái)。但面對(duì)更難以檢測(cè)的帶寬限制,機(jī)器人程序可以采用的通道就相當(dāng)窄了,無(wú)論它們發(fā)出多少請(qǐng)求。這種情況下,只要檢測(cè)到機(jī)器人程序流量,攻擊 IP 就會(huì)被發(fā)配“受罰席”,無(wú)論它們發(fā)出多少請(qǐng)求,都只能收到非常慢的響應(yīng)。大英圖書館就是 NGINX 用于管理機(jī)器人程序流量的一個(gè)樣例。該圖書館每天收到 1,100 萬(wàn)瀏覽器請(qǐng)求,每小時(shí)處理高達(dá) 7,000 個(gè)搜索請(qǐng)求。在網(wǎng)絡(luò)爬蟲和其他機(jī)器人程序流量持續(xù)上升,已升至超出網(wǎng)站總請(qǐng)求量 10% 占比的情況下,大英圖書館知道自己必須擁有一套應(yīng)對(duì)此類流量的解決方案。NGINX 為他們提供了緩解該問(wèn)題的一套方法,可以降低機(jī)器人程序流量對(duì)人類網(wǎng)站訪問(wèn)者訪問(wèn)體驗(yàn)的影響。
但這還不是機(jī)器人程序流量控制問(wèn)題的全貌。盡管帶寬限制是個(gè)有力工具,其功效要與其他兩種方法配合使用才能得到充分發(fā)揮。帶寬限制只有與監(jiān)視及同步聯(lián)動(dòng),才可以提供層次化的解決方案。監(jiān)視功能可以使用戶通過(guò) API 終端獲取 “受罰席” 直觀視圖,看清有多少請(qǐng)求和 IP 地址被隔離。不用再?gòu)牧钊搜刍ǖ娜罩局匈M(fèi)力查找。
但真正在機(jī)器人程序?qū)箲?zhàn)中發(fā)揮巨大功用的,是數(shù)據(jù)同步。NGINX 隔離出來(lái)的機(jī)器人程序流量在所有 NGINX 安裝實(shí)例間共享,打造全球反僵尸網(wǎng)絡(luò)戰(zhàn)線,是一種主動(dòng)式而非響應(yīng)式的機(jī)器人程序流量緩解方法。這就讓 NGINX 的服務(wù)不僅僅是負(fù)載平衡器、反向代理、API 網(wǎng)關(guān)和強(qiáng)大而全面的互聯(lián)網(wǎng)服務(wù)平臺(tái),還是針對(duì)日益嚴(yán)峻的機(jī)器人程序流量問(wèn)題的獨(dú)特解決方案。與其急于解決無(wú)法根除的問(wèn)題,DevOps 和網(wǎng)絡(luò)運(yùn)營(yíng)團(tuán)隊(duì)不如部署 NGINX,配置帶寬限制,并采取主動(dòng)方法來(lái)確保自身人類用戶獲得高性能且不間斷的數(shù)字體驗(yàn)。
-
機(jī)器人
+關(guān)注
關(guān)注
213文章
31240瀏覽量
223088 -
自動(dòng)化
+關(guān)注
關(guān)注
31文章
5967瀏覽量
90490
發(fā)布評(píng)論請(qǐng)先 登錄
國(guó)產(chǎn)人形機(jī)器人測(cè)試設(shè)備突圍:如何拿下AI 終端的 “入場(chǎng)券”
探索RISC-V在機(jī)器人領(lǐng)域的潛力
RK3576機(jī)器人核心:三屏異顯+八路攝像頭,重塑機(jī)器人交互與感知
小蘿卜機(jī)器人的故事
自制巡線解迷宮機(jī)器人(上)
機(jī)器人競(jìng)技幕后:磁傳感器芯片激活 “精準(zhǔn)感知力”
工業(yè)機(jī)器人的特點(diǎn)
工業(yè)機(jī)器人與協(xié)作機(jī)器人概念不同
NGINX 機(jī)器人程序流量限制將影響終端用戶的體驗(yàn)
評(píng)論