Spark Streaming處理分布式拒絕服務(wù)器案例及性能優(yōu)化
1、Spark Streaming處理DDos
2、Spark Streaming處理DDos性能優(yōu)化
反DDos:Pull到Kafka的數(shù)據(jù)會進(jìn)行統(tǒng)計(例如基于IP的統(tǒng)計),然后進(jìn)行分組,然后可能和歷史數(shù)據(jù)集進(jìn)行匹配,同時會進(jìn)行流量感知和過濾等。常見的反DDos有標(biāo)簽和異常檢測等方式。
在處理DDos攻擊的時候,肯定會使用到Window窗口操作,updateStateByKey等,對于窗口操作,我們選擇特定的窗口大小和滑動時間,以前的項(xiàng)目中設(shè)置的窗口大小是1小時,滑動窗口我們設(shè)定為5分鐘。
接下來問題是非常明顯的:如何面對網(wǎng)絡(luò)風(fēng)暴?這個時候因?yàn)閿?shù)據(jù)流量不穩(wěn)定,所以要開啟BackPressure機(jī)制。
隨著服務(wù)的運(yùn)行歷史數(shù)據(jù)越來越多,此時如何高速的讀寫數(shù)據(jù)成為一個非常大的瓶頸,客戶采用的是Redistribution,但是從長久服務(wù)的角度來看,個人建議采用HBase或者Cassandra;
當(dāng)初做項(xiàng)目的時候,其實(shí)我們是把數(shù)據(jù)一方面放在了Redis中,另外一方面是直接發(fā)給了Server,讓Server進(jìn)行有效數(shù)據(jù)的處理;
補(bǔ)充:Spark Streaming可以直接在foreachRDD中發(fā)送數(shù)據(jù)給特定的Service服務(wù),所以可以使用Spark Streaming作為整個企業(yè)數(shù)據(jù)處理的流程啟動引擎;

|