1 引言
突然想了解常見開源的CDN軟件,于是Google了一下
2 了解結(jié)果
Google搜索結(jié)果來看雀鹃,常見的軟件有squid
荡陷,vanish
屈呕,apache traffic server(ATS),nginx
等言询,從目前使用的趨勢來看Apache Traffic Server
占主流俯萎,也是未來的趨勢。
有一些文章提到國內(nèi)互聯(lián)網(wǎng)公司和CDN廠商目前使用的方案运杭。
- 網(wǎng)宿夫啊,目前主要是ATS,按照網(wǎng)宿的規(guī)模應(yīng)該是有能力進行二次開發(fā)辆憔。
- 藍汛撇眯,早期是squid报嵌,當其余廠商擁抱ATS時,由于技術(shù)包袱未及時投入ATS熊榛,但目前也在使用ATS
- 小米锚国,京東等主要使用ATS
- 騰訊,搜到一片騰訊員工的博客玄坦,里面提到正在使用ATS血筑,因此猜測騰訊也有可能使用ATS,加上ATS是C++語言煎楣,符合騰訊C++技術(shù)棧
- 百度豺总, nginx + 自研緩存
- 阿里,tengine + 自研swift择懂,早起使用ATS喻喳,但由于某些原因放棄ATS使用自研,不過自研可能是C開發(fā)困曙,應(yīng)該是參考哪款開源軟件表伦,比如文件系統(tǒng)借鑒的是squid的文件系統(tǒng),網(wǎng)上有阿里云CDN老大
shudu
的PPT慷丽,由于未開源蹦哼,預(yù)計是代碼重合度比較高。 - 又拍云盈魁,之前使用ATS翔怎,最新的消息是自研BearCache,應(yīng)該不是全量部署杨耙,從文章來看猜測是優(yōu)化了網(wǎng)絡(luò)框架和熱重啟架構(gòu)赤套,應(yīng)該也是參考ATS等。
- 新浪珊膜, nginx + ncache容握,需要第三方模塊并且插件化開發(fā),性能損失比較大
- 美麗說车柠, Jaguar剔氏,GO語言開發(fā),前期使用ATS竹祷,應(yīng)該是ATS的go語言簡化版谈跛。
3 總結(jié)
ATS是主流,但是ATS是C++語言開發(fā)塑陵,二次開發(fā)技術(shù)難度高感憾,所以一些廠商轉(zhuǎn)向自研,這篇文章也有助于即將從事CDN緩存開發(fā)的學(xué)習(xí)方向令花,就是好好研究ATS的源碼阻桅。