高并發(fā)大數(shù)據(jù)解決方案,高并發(fā)的問題,憑著印象在記憶中找出了幾條:加帶寬,防盜鏈,使用緩存,大數(shù)據(jù)庫優(yōu)化。當(dāng)初都不知道防盜鏈?zhǔn)鞘窃趺磳?shí)現(xiàn)的也不知道為什么要防盜鏈,使用緩存不知道緩存是哪里的緩存。。。。慢慢的到后來,除了和朋友交流中了解的還有自己在工作中遇到并想方法解決的。
下面我就先說一下我了解的一些方案吧。
頁面靜態(tài)化:
大家都知道打開純靜態(tài)頁比動(dòng)態(tài)頁面要快的多,省去了大數(shù)據(jù)庫的請(qǐng)求。頁面靜態(tài)化還有利于搜索引擎的抓取。對(duì)網(wǎng)站的排名是非常有利的,說到這里就不得不說“偽靜態(tài)”了。偽靜態(tài)顧名思義你從瀏覽器地址欄看這是靜態(tài)頁面的地址,其實(shí)為動(dòng)態(tài)頁面。這樣做也是為了SEO?,F(xiàn)在開發(fā)自己做頁面靜態(tài)化的比以前少了,這些工作cdn就給做了。
大數(shù)據(jù)庫優(yōu)化:
這里要說的就是大數(shù)據(jù)技術(shù)方面了,首先sql語句的優(yōu)化,簡單的就不說了(數(shù)據(jù)庫字段設(shè)置,select *,多表聯(lián)查等等),因?yàn)榇髷?shù)據(jù)庫操作的優(yōu)化方面細(xì)節(jié)太多了。這里就說一下大數(shù)據(jù)庫的索引,適當(dāng)?shù)奶砑铀饕龑?duì)大數(shù)據(jù)庫的優(yōu)化,建立
大數(shù)據(jù)應(yīng)用表可根據(jù)業(yè)務(wù)進(jìn)行水平、垂直分表,大數(shù)據(jù)庫讀寫分離,主從大數(shù)據(jù)庫。
防盜鏈:
想必知道很多公司網(wǎng)站都經(jīng)歷過被抓取,圖片被盜用,鏈接被盜用的情況,我在之前寫過一個(gè)腳本,抓取某個(gè)新聞網(wǎng)站的新聞,抓來后入庫放我服務(wù)器上,在我得意之時(shí)發(fā)現(xiàn),文字抓下來了,圖片鏈接也下來了,但是圖片不顯示。唉,本該想到,我司就是這么做的,圖片單獨(dú)服務(wù)器分配二級(jí)域名,與主站分離,接著配置服務(wù)器,apache或nginx都有支持,我一般做法是對(duì)圖片域名限制ip訪問。這樣不會(huì)因?yàn)樵趧e人網(wǎng)站盜用我們圖片或鏈接來給我們服務(wù)器增加壓力。當(dāng)然這種方式主要也是對(duì)系統(tǒng)資源的一種保護(hù)。
緩存數(shù)據(jù)庫:
現(xiàn)在大流量公司都會(huì)用緩存數(shù)據(jù)庫,redis,memcache大家都知道了,他們的存在減小了數(shù)據(jù)庫的壓力,應(yīng)用場景很多了,當(dāng)然也不能濫用,首先經(jīng)常用到的數(shù)據(jù),還有經(jīng)過復(fù)雜的查詢而得到的數(shù)據(jù),不需要落地的數(shù)據(jù),比如驗(yàn)證碼,還有一個(gè)業(yè)務(wù)邏輯下來中間需要記錄的值,還有第一頁的評(píng)論,以上說了一些使用技巧。歡迎完善。但是要明白緩存數(shù)據(jù)庫終究是一個(gè)不可完全信任的數(shù)據(jù)庫,雖然redis可以持久化寫入硬盤。
第三方云平臺(tái):
大文件首先占用空間大,這里可以把大文件托管在第三方平臺(tái)。當(dāng)然不是免費(fèi)的,一般是按流量計(jì)費(fèi)的。這樣能省去自己服務(wù)器很大空間,而且第三方的響應(yīng)速度還是可以的。
CDN加速:
近來才知道的一個(gè)加速方式,cdn:內(nèi)容分發(fā)網(wǎng)絡(luò),簡單舉例說一下,我在北京用淘寶買了一本書,書的發(fā)貨地址是浙江,物流三天到。我在京東上買了一本書,貨源也是浙江,物流一天到。京東為什么快,原因是京東在北京倉庫有我買的那本書,直接在北京發(fā)貨了。cdn也支持有頁面靜態(tài)化的功能,但是落地的靜態(tài)資源好像不太容易改掉,修改資源文件名字是個(gè)不錯(cuò)的辦法。