狠狠操夜夜甜|人妻在线中文字幕亚洲无码不卡av|一区二区欧美亚洲|日躁夜躁狠狠躁2001|亚洲,超碰,欧美|18AV成人电影|午夜成人免费在线|婷婷激情网深爱五月|色欲综合成人在线|在线美女搞黄大片

中企動力 > 頭條 > 邏輯模擬

網(wǎng)站性能檢測評分

注:本網(wǎng)站頁面html檢測工具掃描網(wǎng)站中存在的基本問題,僅供參考。

邏輯模擬

從單一到混合 DDoS攻擊方式全面剖析 企業(yè)視頻課程

img

水香

關注
DDoS攻擊素來以成本低廉(相比防御)、效果顯著、影響深遠為攻擊者所青睞,經(jīng)過長時間的發(fā)展,DDoS攻擊方式有很多種,最基本的DoS攻擊利用單個合理的服務請求來占用過多的服務資源,從而使合法用戶無法得到服務的響應。DoS攻擊通常采用一對一的方式,在目標系統(tǒng)帶寬、內(nèi)存、CPU等各項性能指標都不高時,具有明顯的效果。隨著網(wǎng)絡技術的發(fā)展,計算機的處理能力迅速增長,內(nèi)存大大增加,千兆級別的網(wǎng)絡出現(xiàn),目標系統(tǒng)的“消化能力”倍增,這時候,分布式的拒絕服務攻擊手段——DDoS就出現(xiàn)了。

利用網(wǎng)絡上已被攻陷的電腦作為“肉雞”,通過一定方式組合形成數(shù)量龐大的“僵尸網(wǎng)絡”,采用一對多的方式進行控制,向目標系統(tǒng)同時提出服務請求,殺傷力大幅度增加。DDoS攻、防對抗多年,從DoS到DDoS,從以流量取勝到以技巧取勝,從單一攻擊到混合攻擊,攻擊手段正不斷進化,本文將一一介紹最常見、最具代表性的攻擊方式,企業(yè)運營者做到知己知彼,才能有備無患。

一、攻擊帶寬:以力取勝

如同城市堵車一樣,當數(shù)據(jù)包超過帶寬上限,就會出現(xiàn)網(wǎng)絡擁堵、響應緩慢的情況。流量型DDoS攻擊就是如此,發(fā)送海量數(shù)據(jù)包,頃刻占滿目標系統(tǒng)的全部帶寬,正常請求被堵在門外,拒絕服務的目的達成。

ICMPFlood

ICMP(Internet控制報文協(xié)議)用于在IP主機、路由器之間傳遞控制消息,控制消息是指網(wǎng)絡通不通、主機是否可達、路由是否可用等網(wǎng)絡本身的消息,雖然并不傳輸用戶數(shù)據(jù),但是對于用戶數(shù)據(jù)的傳遞起著重要的作用。通過對目標系統(tǒng)發(fā)送海量數(shù)據(jù)包,就可以令目標主機癱瘓,如果大量發(fā)送就成了洪水攻擊。

UDPFlood

UDP協(xié)議是一種無連接的服務,在UDPFlood中,攻擊者通常發(fā)送大量偽造源IP地址的小UDP包沖擊DNS服務器或Radius認證服務器、流媒體視頻服務器。100kbps的UDPFlood經(jīng)常將線路上的骨干設備例如防火墻打癱,造成整個網(wǎng)段的癱瘓。

上述傳統(tǒng)的流量型攻擊方式技術含量較低,傷人一千自損八百,攻擊效果通常依賴受控主機本身的網(wǎng)絡性能,而且容易被查到攻擊源頭,單獨使用的情況已不常見。于是,具有四兩拔千斤效果的反射型放大攻擊就出現(xiàn)了。

NTPFlood

NTP是標準的基于UDP協(xié)議傳輸?shù)木W(wǎng)絡時間同步協(xié)議,由于UDP協(xié)議的無連接性,方便偽造源地址。攻擊者使用特殊的數(shù)據(jù)包,也就是IP地址指向作為反射器的服務器,源IP地址被偽造成攻擊目標的IP,反射器接收到數(shù)據(jù)包時就被騙了,會將響應數(shù)據(jù)發(fā)送給被攻擊目標,耗盡目標網(wǎng)絡的帶寬資源。一般的NTP服務器都有很大的帶寬,攻擊者可能只需要1Mbps的上傳帶寬欺騙NTP服務器,就可給目標服務器帶來幾百上千Mbps的攻擊流量。

因此,“問-答”方式的協(xié)議都可以被反射型攻擊利用,將質詢數(shù)據(jù)包的地址偽造為攻擊目標地址,應答的數(shù)據(jù)包就會都被發(fā)送至目標,一旦協(xié)議具有遞歸效果,流量就被顯著放大了,堪稱一種“借刀殺人”的流量型攻擊。

面對洪水般的流量,花高價進行抗D帶寬擴容和多運營商鏈路冗余,雖一定程度可提升抗D能力,但面對大量攻擊仍舊于事無補,而且浪費資源。知道創(chuàng)宇旗下抗DDoS云防御平臺——抗D保,橫跨全國的分布式數(shù)據(jù)中心,600G以上帶寬抗DDoS,并可隨時應急調用騰訊自有帶寬1.5Tb,這使得抗D保擁有超過2個Tb的防御能力。 

二、攻擊系統(tǒng)/應用:以巧取勝

這類型的DDoS攻擊走的是巧勁,利用各種協(xié)議的行為特性、系統(tǒng)的缺陷、服務的脆弱性、軟件的漏洞等等發(fā)起攻擊,不斷占用目標系統(tǒng)的資源以阻止它們處理正常事務和請求。

SYNFlood

這是一種利用TCP協(xié)議缺陷,發(fā)送大量偽造的TCP連接請求,從而使得被攻擊方資源耗盡(CPU滿負荷或內(nèi)存不足)的攻擊方式。建立TCP連接,需要三次握手——客戶端發(fā)送SYN報文,服務端收到請求并返回報文表示接受,客戶端也返回確認,完成連接。

SYNFlood就是用戶向服務器發(fā)送報文后突然死機或掉線,那么服務器在發(fā)出應答報文后就無法收到客戶端的確認報文(第三次握手無法完成),這時服務器端一般會重試并等待一段時間后再丟棄這個未完成的連接。一個用戶出現(xiàn)異常導致服務器的一個線程等待一會兒并不是大問題,但惡意攻擊者大量模擬這種情況,服務器端為了維護數(shù)以萬計的半連接而消耗非常多的資源,結果往往是無暇理睬客戶的正常請求,甚至崩潰。從正常客戶的角度看來,網(wǎng)站失去了響應,無法訪問。

CC 攻擊

CC攻擊是目前應用層攻擊的主要手段之一,借助代理服務器生成指向目標系統(tǒng)的合法請求,實現(xiàn)偽裝和DDoS。我們都有這樣的體驗,訪問一個靜態(tài)頁面,即使人多也不需要太長時間,但如果在高峰期訪問論壇、貼吧等,那就很慢了,因為服務器系統(tǒng)需要到數(shù)據(jù)庫中判斷訪問者否有讀帖、發(fā)言等權限。訪問的人越多,論壇的頁面越多,數(shù)據(jù)庫壓力就越大,被訪問的頻率也越高,占用的系統(tǒng)資源也就相當可觀。

CC攻擊就充分利用了這個特點,模擬多個正常用戶不停地訪問如論壇這些需要大量數(shù)據(jù)操作的頁面,造成服務器資源的浪費,CPU長時間處于100%,永遠都有處理不完的請求,網(wǎng)絡擁塞,正常訪問被中止。這種攻擊技術性含量高,見不到真實源IP,見不到特別大的異常流量,但服務器就是無法進行正常連接。

之所以選擇代理服務器是因為代理可以有效地隱藏自己的身份,也可以繞開防火墻,因為基本上所有的防火墻都會檢測并發(fā)的TCP/IP連接數(shù)目,超過一定數(shù)目一定頻率就會被認為是Connection-Flood。當然也可以使用肉雞來發(fā)動CC攻擊,攻擊者使用CC攻擊軟件控制大量肉雞發(fā)動攻擊,肉雞可以模擬正常用戶訪問網(wǎng)站的請求偽造成合法數(shù)據(jù)包,相比前者來說更難防御。

CC攻擊是針對Web服務在第七層協(xié)議發(fā)起的攻擊,在越上層協(xié)議上發(fā)動DDoS攻擊越難以防御,上層協(xié)議與業(yè)務關聯(lián)愈加緊密,防御系統(tǒng)面臨的情況也會更復雜。比如CC攻擊中最重要的方式之一HTTPFlood,不僅會直接導致被攻擊的Web前端響應緩慢,對承載的業(yè)務造成致命的影響,還可能會引起連鎖反應,間接攻擊到后端的Java等業(yè)務層邏輯以及更后端的數(shù)據(jù)庫服務。

由于CC攻擊成本低、威力大,知道創(chuàng)宇安全專家組發(fā)現(xiàn)80%的DDoS攻擊都是CC攻擊。帶寬資源嚴重被消耗,網(wǎng)站癱瘓;CPU、內(nèi)存利用率飆升,主機癱瘓;瞬間快速打擊,無法快速響應。知道創(chuàng)宇頂級安全研究團隊為抗D保自主研發(fā)的Anti-CC防護引擎可以根據(jù)訪問者的URL、頻率、行為等訪問特征,智能識別CC攻擊,迅速識別CC攻擊并進行攔截,在大規(guī)模CC攻擊時可以避免源站資源耗盡,保證企業(yè)網(wǎng)站的正常訪問。

抗D保-抗CC攻擊數(shù)據(jù)(監(jiān)控)

DNSQueryFlood

DNS作為互聯(lián)網(wǎng)的核心服務之一,自然也是DDoS攻擊的一大主要目標。DNSQueryFlood采用的方法是操縱大量傀儡機器,向目標服務器發(fā)送大量的域名解析請求。服務器在接收到域名解析請求時,首先會在服務器上查找是否有對應的緩存,若查找不到且該域名無法直接解析時,便向其上層DNS服務器遞歸查詢域名信息。

通常,攻擊者請求解析的域名是隨機生成或者是網(wǎng)絡上根本不存在的域名,由于在本地無法查到對應的結果,服務器必須使用遞歸查詢向上層域名服務器提交解析請求,引起連鎖反應。解析過程給服務器帶來很大的負載,每秒鐘域名解析請求超過一定的數(shù)量就會造成DNS服務器解析域名超時。

根據(jù)微軟的統(tǒng)計數(shù)據(jù),一臺DNS服務器所能承受的動態(tài)域名查詢的上限是每秒鐘9000個請求。而一臺P3的PC機上可以輕易地構造出每秒鐘幾萬個域名解析請求,足以使一臺硬件配置極高的DNS服務器癱瘓,由此可見DNS服務器的脆弱性。

抗D保在全國多個城市采用分布式集群方式部署了上千臺高效DNS服務器,從而保證各個地區(qū)的查詢響應速度??笵保的高防DNS服務,可有效解決突發(fā)的上億級別的隨機HOSTA記錄查詢攻擊、遞歸DNS穿透攻擊、DNS流量攻擊等多種針對域名解析的攻擊請求。

抗D保防御DNS攻擊效果示意

三、混合攻擊:流量與技巧并用

在實際情況中,攻擊者只求達到打垮對方的目的,發(fā)展到現(xiàn)在,高級攻擊者已經(jīng)不傾向使用單一的攻擊手段作戰(zhàn)了,而是根據(jù)目標系統(tǒng)的具體環(huán)境靈動組合,發(fā)動多種攻擊手段,既具備了海量的流量,又利用了協(xié)議、系統(tǒng)的缺陷,盡其所能地展開攻勢。

對于被攻擊目標來說,需要面對不同協(xié)議、不同資源的分布式的攻擊,分析、響應和處理的成本就會大大增加。

抗D保擁有國內(nèi)最大的抗D集群,使用騰訊宙斯盾流量清洗設備并結合由知道創(chuàng)宇研發(fā)的Anti-DDoS引擎,5秒發(fā)現(xiàn)惡意攻擊,10秒快速阻斷,2T帶寬儲備,通過多種防御手段,防御各種類型、形態(tài)的DDoS攻擊,包括基于網(wǎng)絡層的攻擊,如TCPFlood、UDPFlood、ICMPFlood,以及應用層攻擊,類似HTTPFlood這種試圖耗盡服務器資源的攻擊,同時可以有效防御各種反射攻擊和僵尸網(wǎng)絡攻擊。

面對一次次攻擊,即使是去年10月讓美國半個互聯(lián)網(wǎng)癱瘓的DDoS攻擊事件,也只是讓很多人小心臟稍微顫抖了幾下,在大家的印象中,DDoS只是一陣海嘯,很快就能恢復了往日的平靜。但是,DDoS在互聯(lián)網(wǎng)發(fā)展進程中已經(jīng)留下了太多不可磨滅的破壞,許多企業(yè)就此一蹶不振。而且隨著互聯(lián)網(wǎng)+的不斷推進,商業(yè)競爭的愈演愈烈,它的危害越來越大,任何企業(yè)組織都應該考慮自己的DDoS防護方案,而不是成為攻擊的炮灰,也盡量避免遭受攻擊后再亡羊補牢。

相關新聞

2016-12-20

2017-03-06

2017-07-28

2017-08-17

2017-09-04

從哲學角度談人工智能為何無法超越人類 人工智能視頻課程

img

喬山

關注
AlphaGo在代表最高水平的智力游戲圍棋與人類頂尖選手對決,但凡虛心一點的科學家都明白,這不過是個100萬美金的超值廣告。

而從媒體到普通民眾,都擔心某一天AI具備自我意識后,在高速進化中全面超越人類。

這根本是孤陋寡聞的恐慌。

哲學上有一個懸而未決的問題,意識和智能產(chǎn)生自大腦,但是意識和智能能夠理解大腦本身嗎?

索羅斯在他著名的通俗著作《金融煉金術》開篇提到了一個問題,所有能被人類主觀意識影響的東西,都不具備“客觀性”(這句話請讀三遍想三遍),因為“反身性”原理,所有有人類參與和影響的活動,從金融投機所屬的經(jīng)濟學到預測社會發(fā)展的歷史和人文類科學,都不具備真正的規(guī)律。某種程度上它們本質上都是偽科學。

這句論斷讓筆者印象尤其深刻。從量子力學主宰的微觀世界被驗證了無數(shù)次的“不確定性原理”,到索羅斯的“反身性”原理,背后揭示了一個深刻的規(guī)則:人不能跳出“人的視角”去驗證人。

“不畏浮云遮望眼,只緣身在此山中”

人工智能大家都在追風談deeplearning,也就是程序員設計算法,訓練計算機群從海量數(shù)據(jù)中習得 “特征”,也是這次AlphaGo不同以往圍棋軟件的地方,它能夠與頂尖高手的大量切磋練習中“自動學習”提高技術。但是AlphaGo習得的那點“人工智能”與人類所真正代表的強人工智能相比,還有兩個巨大的門檻。

第一個問題,歸根結底,人是不是一部自動反應的機器?

《生活大爆炸》里有一個男主角叫SheldonCooper,他很萌,但卻是對情境感知能力較差,并伴隨著嚴重強迫癥。

社交困難、溝通困難、固執(zhí)或狹窄興趣。類似SheldonCooper的人,在幼年時,會經(jīng)常遇到這樣的尷尬:

–孩子沒有交作業(yè),老師很生氣,便諷刺地說道:

–老師:“狗把你的作業(yè)吃掉了嗎?”

–孩子:“老師的狗會吃掉紙?”

孩童是因為不能理解老師的提問而保持沉默,并會認為老師有養(yǎng)狗、而且狗會吃紙。但老師想要表達的其實是“你忘記交作業(yè)了”,而孩童本身沒有辦法了解這類的隱喻。

世界上真實存在著這樣一群人。現(xiàn)代精神病學指出,這是一種溫和的自閉癥叫阿斯伯格綜合癥(Aspergersyndrome),不同于一般自閉癥, Aspergersyndrome保有社交的意愿卻缺乏相關的能力,他們看起來像“機器人”,但大多心智正常。

Aspergersyndrome 從某種程度上反映了人類心智并不神圣,是有跡可循的。而認知心理學的發(fā)展,卻越來越向人們揭示一個可能的結論,無論是自閉癥患者、阿斯伯格綜合癥患者、還是普通人,實際上都是基本自動的機器。

神經(jīng)科學家安東尼奧·R。達馬西奧所著述《SelfComestoMind》(自我在大腦當中是怎么生成的)中認為,通常人們混淆了 emotion(直覺情緒)和feeling(感受)。“我覺得怎么樣,我覺得受委屈了,我覺得被尊重了”,這種“我的feeling”是杜撰的、虛假的。

一個比較典型的例子,這也是原來心理學經(jīng)常引用的故事,在加拿大做的實驗。在一個石橋上和一個鐵橋上招募一幫人去談戀愛,隨機抽取一對一對去談。石橋因為很堅固,有風也不會晃。鐵橋是鐵索橋,是吊橋,有風就會晃。因為一晃就會緊張,緊張恐懼是一個 emotion,恐懼來的時候又帶來什么呢,內(nèi)部是腎上腺素分泌;外部的表現(xiàn),比如瞳孔放大,面部會發(fā)紅,鼻孔會擴張,有各種各樣的表現(xiàn)。

但是很有意思是,緊張的外在表現(xiàn)和愛情出現(xiàn)的外在表現(xiàn)是一致的。理論上講,環(huán)境不應該對你是不是對對方有好感能夠產(chǎn)生影響,不管你是在石橋上跟人談戀愛,還是在晃動的鐵橋跟人談戀愛,理論上講,你愛上對方的幾率是差不多的。但一個很有意思的現(xiàn)象是,在晃動的鐵橋上愛上對方的幾率大大超過在一個穩(wěn)定的石橋上,因為剛才講的 feeling部分,就是這個自我部分,它不知道emotion 出了什么事兒,它只是去讀取。它讀取的數(shù)據(jù)是,原來所有的征兆,所有的征兆符合談戀愛的特征,我就一定愛上對方了,我既然愛上對方了,我就一定要真的去愛她,因為如果我覺得我是,而又沒有真的去愛的時候,又會出現(xiàn)另一個,叫做認知失調。這樣的話,他就以為自己是這樣的,就那樣去做了。這是真實研究的成果。

之前人們認為emotion就是 feeling,達馬西奧研究發(fā)現(xiàn)不是,emotion不能改變,見到什么樣的情況你就會產(chǎn)生怎樣的反應,是下意識的,是不能控制的。而feeling是“我” 在作怪,受這個所謂的“我”來控制的,它首先讀取emotion的數(shù)據(jù),經(jīng)過處理之后告訴“我”,我感受到了什么。

“處理”的過程十分關鍵,它能否被模擬,與實現(xiàn)真正的人工智能息息相關,這是人工智能已有部分答案(比如deeplearning )的第一個重大問題。而所謂的“我”,自我意識甚至自由意志都是幻覺,是假的,不存在。我們實際上是個基本自動的機器,99.9% 自動處理的機器,只不過這個機器有一個特別特殊的軟件,就監(jiān)控這個機器本身的“我”。

身體是遍布傳感器(耳鼻口舌目身體,聽覺嗅覺味覺觸覺視覺)的硬件,又運行著一個產(chǎn)生“自我”的軟件,從某種程度上來說,我們確實只是機器人。

但“自我意識”是如何產(chǎn)生的,目前還沒有徹底搞清楚,也是人工智能最重要的、且尚無頭緒的問題。

第二個問題,100%的正確誕生不了真正的智能

所見與真實有很大的狹隘和偏差。

普通人的視力系統(tǒng)就是一種用于獲取和分析可見光的信息接收系統(tǒng),倘若缺少一類,或是性能不足,就會發(fā)生:盲人無法感知光線、色盲缺乏分辨色彩的能力、健全人的眼睛看不見紫外線、紅外線,分辨不出偏振光……但真正的,健全人看待世界的方式其實與盲人摸象別無二致。

一個已知的事實是地球面向太陽的區(qū)域每平方厘米每秒會穿過大約650億個來自太陽的中微子,然而由于缺乏感知能力,不僅人類自身無法察覺。比如我們所謂的 “錯覺”,錯覺是在已獲取信息的基礎上,進行額外加工所獲得的認知,有一個非常著名的例子就是卡尼薩三角形錯覺;錯誤則是計劃之外發(fā)生的隨機突變。一些特殊的神經(jīng)性疾病將使得我們感知到與常人完全不同的世界,例如擁有斷續(xù)影像視覺(Cinematographic vision,一種罕見的精神異?,F(xiàn)象)體驗的人,大概會認同芝諾關于飛矢不動的論斷所言非虛。

我們所謂的存在皆由我們的觀察而得,而我們的觀察方式存在先天性的漏洞。但奇妙的是,從感知、觀察、形成概念、到邏輯推理均存在缺陷的人類,實現(xiàn)了真正的智能。

圖靈開創(chuàng)了現(xiàn)代意義上的計算機科學,幾乎同時代,美妙而強大的人工智能其實早在50、60 年代就開始研究了,但一直沒有大的進展。之前的研究重點是精確的數(shù)理統(tǒng)計與創(chuàng)新算法,直到人們把眼光從線性系統(tǒng)放到非線性系統(tǒng),從邏輯編排到混沌系統(tǒng),從機器到人。才取得了一些有限的進展。比如模仿大腦神經(jīng)元多層鏈路循環(huán)遞進處理信息的方式,誕生了時下火熱的深度學習。

計算機的發(fā)展,核心是邏輯門的堆疊帶來的超高效率和超高準確性。100% 正確卻誕生不了智能。非線性系統(tǒng)、混沌理論指導下,即使目前流行的分布式計算、并行計算,還沒有真正有 “容錯”的能力。模擬錯誤的信息輸入,輸出錯誤的模型,能在下一次模型實踐中發(fā)現(xiàn)模型本身的錯誤或局限,在沒有程序員沒有旁人主動干擾指出中習得 “錯誤”,并從中學習進化。這需要部分拋棄冰冷的邏輯和理性,一場真正的哲學革命。

生命體是各種不同細胞的堆疊,涌現(xiàn)了意識、智能、情感、道德、乃至今天人類的一切,以至于反作用于現(xiàn)實世界本身。計算機實現(xiàn)強人工智能的一天,必然也具備意識、情感、道德等表面上與 “智能”無關的東西,那時候恐怕就不是一種機器和工具,變成活生生的生命體,而我們成為了造物主,成為了上帝。

宇宙的圖像和大腦神經(jīng)元的圖像何其相似,真正人工智能的問世,筆者深信,那就是另一種創(chuàng)世。

作者:青山

騰訊貢獻大規(guī)模 Node.js 微服務框架 Tars.js 公司視頻課程

img

暗夜瞳

關注
隨著互聯(lián)網(wǎng)的發(fā)展,越來越多的業(yè)務不僅僅由單一節(jié)點(或是單一語言)就可承載,而是趨向多語言分布式協(xié)同開發(fā)(如接入層由Node.js完成,邏輯(數(shù)據(jù))層由C++/GO/Python實現(xiàn))并由此組成大型異構系統(tǒng)。

我們(現(xiàn)SuperTeam)基于 Tars 體系研發(fā)出 Tars.js 以便用戶在不改變異構系統(tǒng)整體架構的情況下快速搭建(遷移)Node.js服務,并可非常方便的將原來的單一服務拆分為多個(邏輯)子服務。

Tars.js在騰訊內(nèi)部經(jīng)過5年多的沉淀與迭代(Node.js@0.10版本即提供支持),廣泛運用于騰訊QQ瀏覽器、騰訊桌面瀏覽器、騰訊地圖、應用寶、騰訊手機管家、互聯(lián)網(wǎng)+、騰訊醫(yī)療、騰訊覓影、保險、彩票等幾十個重要業(yè)務中,日承擔了上百億流量。

Tars.js包含下述特性:

l 100%由JavaScript編寫,不包含任何C/C++代碼。

l 多進程負載均衡與管理。

l 代碼異常監(jiān)控與重啟。

l 服務日志搜集與處理。

l HTTP(s)服務監(jiān)控與用量自動上報,并支持用戶自定義維度上報(PP監(jiān)控)。

l 符合 Tars(IDL)規(guī)范的編解碼模塊。

l 支持 TarsRPC調用與染色(模調自動上報)。

l 支持在線發(fā)送管理命令、拉取服務配置。

l 獨創(chuàng) LongStackTrace?異常跟蹤機制。

l …… 更多特性可訪問 @tars/node-agent 了解

設計理念:

?A.高自由度:

l 兼容所有(≥0.10)官方Node.js版本。

l 對 Node.js源碼無侵入無修改。

l 底層對上層完全透明,支持各種上層框架,無需變更。

也就是說:

您可以使用任何您熟悉的框架(如 Express.js/Koa.js等,包括但不僅限于Web框架),也無需對框架進行任何修改(無需引入任何中間件)。即可通過Tars.js運行,享受平臺提供的各種監(jiān)控與管理特性。

與此同時,Tars.js所提供的模塊,也可以根據(jù)您的需求引入(如未使用到則可不引入)。

?B.高性能:

Tars.js為高性能與大并發(fā)量而設計,使用了大量的前端(V8)優(yōu)化技巧(如FlattenString/FastProperties等)盡量降低所提供的能力對于業(yè)務性能的影響。

經(jīng)過我們測試(WebServer),默認的旁路上報與監(jiān)控對服務性能的影響≤5%,常用模塊(RPC、日志等)性能位于業(yè)界前列。

?C.差異化:

Tars.js根據(jù)不同的業(yè)務類型提供差異化運營方案:

l 高流量業(yè)務:盡力降低框架對業(yè)務性能的影響。

l 低流量業(yè)務:充分利用硬件資源提升開發(fā)體驗。

HelloWorld

我們來看Node.js官網(wǎng)的 例子 (如下),無需任何變更,直接通過Tars.js進行部署,它會擁有哪些特性?

? 進程管理

默認基于 cluster 模塊進行負載均衡,進程數(shù)可以配置為1~max(CPU核心數(shù))、還可配置為auto(物理核心數(shù)相同)以減小內(nèi)存壓力提升“性價比”。

與此同時,進程僵死檢測也會同時啟動,實時監(jiān)控業(yè)務進程。

?案例說明

某服務在論壇UBB代碼轉HTML時,使用未優(yōu)化的正則表達式進行XSS攻擊過濾,但由于用戶發(fā)帖時圖片采用BASE64編碼,導致正則表達式計算時間過長,CPU使用率飆漲到100%:

開啟僵死檢測后,Tars.js監(jiān)控到業(yè)務進程僵死時,自動重啟業(yè)務進程,從而縮短了業(yè)務無響應時間:

Tars.js雖然無法解決業(yè)務代碼的問題(BUG),但會盡最大努力保證業(yè)務的可用性。

? 服務監(jiān)控

以服務名、接口名(URL-PATH節(jié))為緯度,統(tǒng)計總流量、平均耗時、超時率、異常率:

其中返回碼大于400(可配置)作為異常進行上報。

?監(jiān)控說明

Web服務一般由靜態(tài)與動態(tài)資源(接口)組成,由于靜態(tài)資源(本地文件)的請求耗時遠低于動態(tài)資源(業(yè)務邏輯),請求量往往又很高,拉低了服務整體耗時。

基于此,Tars.js將請求URL中的PATH節(jié)作為接口,每個接口均可查看其總流量、平均耗時、異常率,便于用戶全面了解服務性能。

? 特性監(jiān)控

無論您服務的類型是什么,總是會上報下述特性,便于回溯問題與評估性能:

l memUsage:內(nèi)存用量,將會上報rss、heapUsed、heapTotal這三個用量(單位為字節(jié))

l cpuUsage:CPU用量,將會上報CPU使用率,數(shù)據(jù)匯總為邏輯單核(單位為百分比)

l eventloopLag:(任務)隊列延遲,每隔2秒采樣(單位為毫秒)

l libuv:I/O用量,將會上報activeHandles、activeRequests這兩個用量

各策略以平均值(Avg)、最大值(Max)、最小值(Min)分節(jié)點進行統(tǒng)計:

? 日志輸出

所有通過Console模塊(如console.log)輸出的日志,都會輸出到服務本地文件內(nèi)。并附加相關信息(如下),方便定位問題。

日志格式:日期時間|進程PID|日志級別|輸出文件名與行號|日志內(nèi)容

2018-07-0112:00:00|332|DEBUG|app.js:13|Serverrunningathttp://127.0.0.1:3000/

? LongStackTrace?

由于Node.js采用異步機制,在發(fā)生異常時堆棧不完整,導致定位問題復雜。

鑒于此,我們提供了長鏈路跟蹤技術在產(chǎn)生異常時自動附加前序調用堆棧,同時還支持在異常堆棧中過濾出用戶代碼部分。

由于開啟此特性時會造成性能損耗,故默認關閉,管理平臺等性能不敏感業(yè)務可直接通過配置開啟。

?案例說明

執(zhí)行上述代碼會拋出下述異常:

ReferenceError:ThisMayThrowErrorisnotdefined

atTimeout.setTimeoutas_onTimeout

at_disibledevent="http://superzheng.com/">@SuperZheng 創(chuàng)立于2017年。團隊成員均為全棧架構師(Super寓意Superman——無所不能),熟知Web(3D)、終端、后端與大數(shù)據(jù)計算,并由傳統(tǒng)前端向互聯(lián)網(wǎng)從業(yè)者方向發(fā)展。歡迎前端牛人加入,共創(chuàng)前端美好未來。

img

在線咨詢

建站在線咨詢

img

微信咨詢

掃一掃添加
動力姐姐微信

img
img

TOP