亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
12345下一頁(yè)
最近訪問(wèn)板塊 發(fā)新帖
查看: 32844 | 回復(fù): 48
打印 上一主題 下一主題

[proxy] 使用Apache Traffic Server代理服務(wù)器緩存視頻文件 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2012-04-15 18:00 |只看該作者 |倒序?yàn)g覽
本帖最后由 aaaaaa 于 2013-04-11 15:26 編輯

序言

國(guó)內(nèi)的上網(wǎng)環(huán)境中,帶寬費(fèi)用實(shí)在不是一筆小錢。企業(yè)上網(wǎng)中,尤其碰到很多帶寬不夠用的情況。然而并不是所有的單位都有能力、有辦法解決上網(wǎng)帶寬的物理限制。因此以減少上網(wǎng)帶寬為目標(biāo)的web代理服務(wù)器在企業(yè)內(nèi)部發(fā)揮著很重要的作用,一臺(tái)普通上網(wǎng)代理服務(wù)器就可以為企業(yè)節(jié)省50%以上的上網(wǎng)帶寬。上網(wǎng)不擁堵啦,自然是好事。但是有很多情況下,代理服務(wù)器很難解決,如視頻網(wǎng)站的url都是動(dòng)態(tài)的,它們并不用使用常規(guī)域名方式,甚至每個(gè)人看到的url都是不同的。傳統(tǒng)的squid等代理服務(wù)器對(duì)這種情況解決起來(lái)就復(fù)雜了。我們今天介紹如何使用Apache Traffic Server來(lái)解決這樣的難題。
我們可以做什么?

研究所有的視頻網(wǎng)站,你會(huì)發(fā)現(xiàn)其實(shí)他們還是有很多共同點(diǎn)的: 1,多數(shù)使用IP地址的URL,不使用域名 2,多數(shù)都含有key=xxx的一些授權(quán)信息,正式這些信息決定了每個(gè)用戶真正訪問(wèn)到的視頻文件URL是完全不同的,這些信息決定了這個(gè)URL的有效期等等。 3,對(duì)同一個(gè)視頻內(nèi)容,可以找到它的真正id 如果我們對(duì)這些url進(jìn)行轉(zhuǎn)換,是否就可以解決了呢?是的,完全可以!Apache Traffic Server有很方便擴(kuò)展的API接口,我們已經(jīng)有插件可以解決這個(gè)問(wèn)題。
安裝配置cacheurl插件
下載:

要解決這個(gè)難題,squid需要對(duì)url進(jìn)行外掛腳本插件操作,并且效率不夠高。而TS則只要用TS的插件cacheurl,就可以很方便的解決啦。這個(gè)非常小但功能強(qiáng)大的插件,目前已經(jīng)存放在官方的ATS代碼里:

    https://git-wip-us.apache.org/re ... al/cacheurl;hb=HEAD

大家可以直接從這個(gè)網(wǎng)站snapshot下來(lái),或者用官方的git repo來(lái)clone:

    https://git-wip-us.apache.org/repos/asf/trafficserver.git


編譯安裝:

要使用這個(gè)插件,我們需要首先安裝配置好Apache Traffic Server 3.x的版本,建議使用最新版本,如3.0.4, 3.1.3或更新版本。插件的編譯安裝非常簡(jiǎn)單,編譯安裝功能也被封裝進(jìn)Makefile了:

    zym@zym6400 ~/git/trafficserver-plugins/cacheurl $ ls
    cacheurl.c  cacheurl.config.example  CHANGES  LICENSE  Makefile  NOTICE  README
    zym@zym6400 ~/git/trafficserver-plugins/cacheurl $ make
    tsxs -c cacheurl.c -o cacheurl.so
      compiling cacheurl.c -> cacheurl.lo
      linking -> cacheurl.so
    zym@zym6400 ~/git/trafficserver-plugins/cacheurl $

安裝只要make install就可以了(取決于你的系統(tǒng),你可能需要以root的權(quán)限執(zhí)行):

    zym@zym6400 ~/git/trafficserver-plugins/cacheurl $ make install
    tsxs -i -o cacheurl.so
      installing cacheurl.so -> /opt/ats/libexec/trafficserver/cacheurl.so
    zym@zym6400 ~/git/trafficserver-plugins/cacheurl $

配置啟用

編譯安裝就完成了,下面我們配置并啟用cacheurl:

    修改etc/trafficserver下的plugin.config,添加: cacheurl.so
    復(fù)制源代碼下的cacheurl.config.example到上面cacheurl.so安裝到的目錄里,如上面是/opt/ats/libexec/trafficserver/。并修改相關(guān)配置,后面有具體例子。
    重啟server進(jìn)程。

配置cacheurl.config很簡(jiǎn)單,只要你知道你想緩存的目標(biāo)url的一些正則規(guī)則就好,下面是幾個(gè)常見視頻網(wǎng)站的配置:

    http://[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}[^&]*/f4v/.*id=tudou.itemid\=([0-9]*).* http://www.tudou.com/$1
    http://[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}[^&]*/flv/.*id=tudou.itemid\=([0-9]*).* http://www.tudou.com/$1
    http://[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}/youku/.*/(.*-.*-.*-.*-.*) http://www.youku.com/$1
    http://[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}/sohu/[0-9]*/[0-9]*/[0-9]*/(.*).mp4?key=.* http://tv.sohu.com/$1.mp4
    http://[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}/videos2/[^/]*/[^/]*/([^/]*.f4v)?key=.*  http://www.iqiyi.com/$1


另,經(jīng)紙鳶發(fā)現(xiàn),youku的規(guī)則改為:
http://[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}/youku/.*/(.*-.*-.*-.*-[^?]*)(.*) http://www.youku.com/$1
可以解決在用戶拖拉的時(shí)候產(chǎn)生很多 url?start=88 之類的請(qǐng)求不命中的情況,增加命中率。


結(jié)束語(yǔ)

很簡(jiǎn)單吧?如想了解更多的,歡迎聯(lián)系我們。
FAQ:

Q:如何分析提煉這些規(guī)則?

  A:使用像firebug等工具是很好的選擇。

Q:如何驗(yàn)證是否緩存住了呢?

  A1:使用Apache Traffic Server的http_ui工具:參考 https://cwiki.apache.org/TS/faq.html#FAQ-httpui
  A2:或啟用response VIA頭,使用http://trafficserver.apache.org/ ... nterpret_via_header解碼
  A3:或參考log目錄下的cacheurl.log文件,這里記錄了所有匹配的URL以及轉(zhuǎn)換后的URL。



cacheurl.log日志格式,后一字段為變化后的URL地址:

    20120415.17h20m57s Rewriting cache URL for http://61.153.87.199/f4v/30/1262 ... XXXXXX&plybgn=1 to http://www.tudou.com/89768396
    20120415.17h20m58s Rewriting cache URL for http://118.228.16.40/youku/XXXXX ... 87-33427E380B07.flv to http://www.youku.com/03000204014 ... 87-33427E380B07.flv

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2012-04-16 10:34 |只看該作者
學(xué)習(xí)

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2012-04-16 11:06 |只看該作者
感謝分享

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2012-04-16 11:48 |只看該作者
回復(fù) 3# LnBSD


    你現(xiàn)在用的啥模式,有啥特別需要的模塊不?目前插件里zip和ESI插件很有意思,不知道你有沒(méi)有需要啊

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2012-04-16 18:14 |只看該作者
本帖最后由 LnBSD 于 2012-04-16 18:16 編輯

ESI部分項(xiàng)目計(jì)劃要上,一直沒(méi)時(shí)間測(cè)試
目前比較糾結(jié)ats緩存穿透的問(wèn)題,比squid的穿透率高了很多
cacheurl模塊功能不錯(cuò),不過(guò)我以前測(cè)試是失敗的;我們一直都是前端nginx+后端ats(squid)來(lái)進(jìn)行域名或url整合的,效果和效率都還可以吧。
做url hash,前面怎么也都需要加一層nginx或haproxy。

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2012-04-16 18:47 |只看該作者
你說(shuō)的穿透率問(wèn)題很感興趣,如果可以的話,盡量多看看這些問(wèn)題。我們也作了很多這方面的改進(jìn):
比如:
1,cache 0字節(jié)的內(nèi)容,默認(rèn)TS是不cache 0字節(jié)長(zhǎng)度的response的。 TS-621上已經(jīng)有我們的patch,這個(gè)是我們驗(yàn)證的安全可靠的,你如果有用可以來(lái)試試看。
2,改進(jìn)了cache規(guī)則,比如啟動(dòng)模糊expire等
3,對(duì)negative的response也可以啟動(dòng)cache


nginx(或haproxy)+TS一直是我的心病,TS的cluster是一個(gè)很好的solution,但是效率目前仍有些問(wèn)題,我們正在研究改進(jìn)。

ESI加緊測(cè)試啊,這個(gè)功能真的很有意義

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2012-06-18 20:42 |只看該作者
太好了!很好的學(xué)習(xí)資料。迷上ATS~

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2012-07-06 20:03 |只看該作者
嗯,前輩還是泄漏了一些我們通常看不到的資料

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2012-07-07 00:13 |只看該作者
我們還有很多的寶貝沒(méi)抖出來(lái)呢,最近大規(guī)模上線差不多完了,等我們?cè)僬袔讉(gè)人來(lái),我就有機(jī)會(huì)給大家放些更有意思的料,呵呵

論壇徽章:
0
10 [報(bào)告]
發(fā)表于 2012-07-10 10:55 |只看該作者
前輩,ATS有支持SPDY的打算嗎?另外,這兩天我研究了一些Akamai的資料,我覺得ESI這個(gè)很有意思的,對(duì)處理動(dòng)態(tài)網(wǎng)頁(yè)很有好處,不知道該模塊當(dāng)前是否功能十分成熟?能否達(dá)到實(shí)用的階段?
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP