移動(dòng)直播網(wǎng)絡(luò)的研究

從 CDN 到 LiveNet TM

隨著基礎(chǔ)設(shè)施的升級(jí),我們從文字時(shí)代演進(jìn)到讀圖時(shí)代乙漓,又從讀圖時(shí)代演進(jìn)到微視頻時(shí)代吕粗。人們對(duì)媒體載體的實(shí)時(shí)性,交互性的要求越來越高饱搏。今年是 Live 時(shí)代的元年非剃,直播 App 如雨后春筍,像極了幾年前的千團(tuán)大戰(zhàn)推沸、O2O 大戰(zhàn)备绽、P2P金融 大戰(zhàn)抑进,成為互聯(lián)網(wǎng)的又一場戰(zhàn)役每窖。

  • 什么是內(nèi)容分發(fā)網(wǎng)絡(luò)
  • 內(nèi)容分發(fā)網(wǎng)絡(luò)的鏈路路由
  • 內(nèi)容分發(fā)網(wǎng)絡(luò)的擴(kuò)容
  • 內(nèi)容分發(fā)網(wǎng)絡(luò)的安全
  • 回歸本質(zhì):LiveNet TM
  • LiveNet TM VS P2P 網(wǎng)絡(luò)

為什么要有內(nèi)容分發(fā)網(wǎng)絡(luò),內(nèi)容分發(fā)網(wǎng)絡(luò)的由來

互聯(lián)網(wǎng)起源于美國軍方的一個(gè)內(nèi)部網(wǎng)絡(luò)型奥,Tim Berners-Lee 是互聯(lián)網(wǎng)發(fā)明者之一宇驾,他很早就預(yù)見到在不久的將來網(wǎng)絡(luò)擁塞將成為互聯(lián)網(wǎng)發(fā)展的最大障礙倍靡,于是他提出了一個(gè)學(xué)術(shù)難題,要發(fā)明一種全新的课舍、從根本上解決問題的方法來實(shí)現(xiàn)互聯(lián)網(wǎng)內(nèi)容的無擁塞分發(fā)塌西,這項(xiàng)學(xué)術(shù)難題最終催生出一種革新性的互聯(lián)網(wǎng)服務(wù)-- CDN 他挎。當(dāng)時(shí) Berners-Lee 博士隔壁是 Tom Leighton 教授的辦公室,一位麻省理工學(xué)院應(yīng)用數(shù)學(xué)教授捡需,他被 Berners-Lee 的挑戰(zhàn)激起了興趣办桨。Letghton 最終解決了這個(gè)難題并開始自己的商業(yè)計(jì)劃,成立了 Akamai 公司站辉,成為世界上第一家 CDN 公司崔挖。

內(nèi)容分發(fā)網(wǎng)絡(luò)的架構(gòu)

cdn_arch.png

上圖是一個(gè)典型的 CDN 系統(tǒng)的三級(jí)部署示意圖,節(jié)點(diǎn)是 CDN 系統(tǒng)中的最基本部署單元庵寞,分為三級(jí)部署狸相,中心節(jié)點(diǎn)、區(qū)域節(jié)點(diǎn)和邊緣節(jié)點(diǎn)捐川,最上面一級(jí)是中心節(jié)點(diǎn)脓鹃,中間一級(jí)是區(qū)域節(jié)點(diǎn),邊緣節(jié)點(diǎn)地理位置分散古沥,為用戶提供就近的內(nèi)容訪問服務(wù)瘸右。

下面介紹一下 CDN 節(jié)點(diǎn)的分類,主要分成兩大類岩齿,骨干節(jié)點(diǎn)和 POP 節(jié)點(diǎn)太颤,骨干節(jié)點(diǎn)又分為中心節(jié)點(diǎn)和區(qū)域節(jié)點(diǎn):

  • 骨干節(jié)點(diǎn)
    • 中心節(jié)點(diǎn)
    • 區(qū)域節(jié)點(diǎn)
  • POP節(jié)點(diǎn)
    • 邊緣節(jié)點(diǎn)

邏輯上來講,骨干節(jié)點(diǎn)主要負(fù)責(zé)內(nèi)容分發(fā)和邊緣節(jié)點(diǎn)未命中時(shí)進(jìn)行回源盹沈,POP 節(jié)點(diǎn)主要負(fù)責(zé)提供給用戶就近的內(nèi)容訪問服務(wù)龄章。但如果 CDN 網(wǎng)絡(luò)規(guī)模較大,邊緣節(jié)點(diǎn)直接向中心節(jié)點(diǎn)回源會(huì)給中間層的核心設(shè)備造成的壓力過大乞封,在物理上引入?yún)^(qū)域節(jié)點(diǎn)做裙,負(fù)責(zé)一個(gè)地理區(qū)域的管理,保存部分熱點(diǎn)數(shù)據(jù)肃晚。

內(nèi)容分發(fā)網(wǎng)絡(luò)的種類

  • 網(wǎng)頁加速
  • 視頻加速
  • 文件傳輸加速
  • 應(yīng)用協(xié)議加速
  • 直播加速

內(nèi)容分發(fā)網(wǎng)絡(luò)主要分為以上幾種锚贱,我們簡單介紹一下:

網(wǎng)頁加速

網(wǎng)頁是比較早出現(xiàn)的互聯(lián)網(wǎng)信息載體,也是 CDN 支持的最早的一種加速服務(wù)关串,開始主要是對(duì)靜態(tài)網(wǎng)頁拧廊、圖片等等進(jìn)行加速,發(fā)展到現(xiàn)在也可以對(duì)動(dòng)態(tài)內(nèi)容進(jìn)行加速晋修。

視頻點(diǎn)播加速

隨著基礎(chǔ)網(wǎng)絡(luò)的提升吧碾,單純的圖片和文字已經(jīng)沒辦法滿足大家的物流需求,于是涌現(xiàn)了大量的視頻網(wǎng)站飞蚓,CDN 應(yīng)對(duì)這種需求開發(fā)了針對(duì)流媒體視頻的加速網(wǎng)絡(luò)滤港,做出的技術(shù)改變,主要是改變?cè)?PULL 模型為 PUSH 模型,縮短了用戶訪問時(shí)間溅漾,避免視頻流媒體的冷啟動(dòng)山叮,也降低了對(duì)樹形網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中的根節(jié)點(diǎn)的壓力(骨干節(jié)點(diǎn))。

文件傳輸加速

主要支持了很多常見的文件下載協(xié)議添履,如 FTP屁倔、HTTP、P2P 等暮胧,同時(shí)像七牛這種云存儲(chǔ)廠商會(huì)支持層次更高的對(duì)象存儲(chǔ)服務(wù)锐借,CDN 也內(nèi)建在其中,對(duì)用戶無感知加速往衷。

應(yīng)用協(xié)議加速

推出了 HTTPS 加速钞翔,HTTP 網(wǎng)頁壓縮加速等,進(jìn)一步縮短了用戶訪問時(shí)間席舍,降低了源站的資源使用壓力布轿。

直播加速

隨著 Live 時(shí)代的到來,直播成為當(dāng)前 CDN 廠商的又一個(gè)主要的戰(zhàn)場来颤,那么 Live 時(shí)代 CDN 需要支持什么樣的服務(wù)呢汰扭?

  • 流媒體協(xié)議的支持,包括 RTMP , HLS ,HTTP-FLV 等福铅。
  • 首屏秒開萝毛,從用戶點(diǎn)擊到播放控制在秒級(jí)以內(nèi)
  • 1~3 延遲控制,從推流端到播放端滑黔,延遲控制在 1~3 秒之間
  • 全球全網(wǎng)智能路由笆包,可以利用整個(gè) CDN 網(wǎng)絡(luò)內(nèi)的所有節(jié)點(diǎn)為某一單一用戶服務(wù),不受地域限制拷沸。隨著全球一體化進(jìn)程不斷推進(jìn)色查,跨區(qū)域、跨國家撞芍、跨洲的直播正變?yōu)槌B(tài),很可能主播在歐美跨扮,而用戶在亞洲序无。
  • 天級(jí)別的節(jié)點(diǎn)按需增加,中國公司出海已成大勢衡创,CDN 需要更多的海外節(jié)點(diǎn)帝嗡,如今比拼的更多的是海外節(jié)點(diǎn)可以快速部署,從提出節(jié)點(diǎn)增加需求到節(jié)點(diǎn)入網(wǎng)提供服務(wù)璃氢,需要達(dá)到一天之內(nèi)哟玷,對(duì) CDN 運(yùn)維和規(guī)劃提出非常高的要求。原有的月級(jí)別規(guī)劃和入網(wǎng)滿足不了先進(jìn)的要求。

內(nèi)容分發(fā)網(wǎng)絡(luò)的鏈路路由

CDN 基于樹狀網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)巢寡,每一層都有 GSLB (Global Server Load Balancing) 用于同一層內(nèi)的多個(gè) CDN 節(jié)點(diǎn)負(fù)載均衡喉脖,這樣有什么好處呢?

前面提到的眾多 CDN 的應(yīng)用場景中抑月,網(wǎng)頁加速树叽、視頻加速、文件傳輸加速谦絮,都是同時(shí)依賴 GSLB 和 Cache 系統(tǒng)的题诵,Cache 系統(tǒng)是整個(gè) CDN 系統(tǒng)中的成本所在,設(shè)計(jì)樹形結(jié)構(gòu)可以最大化的節(jié)省 Cache 系統(tǒng)的資本投入层皱。因?yàn)橹挥兄行墓?jié)點(diǎn)需要保持機(jī)會(huì)所有的 Cache 副本性锭,先下逐級(jí)的減少,到了邊緣節(jié)點(diǎn)只需要少量的熱點(diǎn) Cache 就可以命中大部分 CDN 訪問請(qǐng)求叫胖,這樣極大的降低了 CDN 網(wǎng)絡(luò)的成本草冈,也符合當(dāng)是 CDN 用戶的需求,可謂雙贏臭家。當(dāng)是到了 Live 時(shí)代疲陕,直播業(yè)務(wù)是流式業(yè)務(wù),很少涉及到 Cache 系統(tǒng)钉赁,基本都是播完就可以釋放掉存儲(chǔ)資源蹄殃,即使因?yàn)檎咴蛴写鎯?chǔ)的需求也都是冷存儲(chǔ),對(duì)于存儲(chǔ)的投入相對(duì)非常低廉你踩,而且不要求存儲(chǔ)在所有節(jié)點(diǎn)中诅岩,只要保證數(shù)據(jù)可回溯,可用即可带膜。

我們看看樹狀網(wǎng)絡(luò)拓?fù)浞郧脩舻逆溌愤x擇數(shù)量是有限的,如下圖膝藕,用戶在某一個(gè)區(qū)域內(nèi)可選擇的鏈路數(shù)是:2 * 6 = 12

cdn_route.png

用戶在某一區(qū)域內(nèi)式廷,則 GSLB (通常在邊緣節(jié)點(diǎn)這一層是 Smart DNS)會(huì)把用戶路由到該區(qū)域內(nèi)的某個(gè)邊緣節(jié)點(diǎn),上一層又會(huì)路由到某個(gè)區(qū)域節(jié)點(diǎn)(這里的 GSLB 通常是內(nèi)部的負(fù)載均衡器)芭挽,最后又回溯到中心節(jié)點(diǎn)滑废,中心節(jié)點(diǎn)會(huì)鏈接源站。

這里的假設(shè)是:

  • 用戶能訪問的最快節(jié)點(diǎn)一定是該區(qū)域內(nèi)的邊緣節(jié)點(diǎn)袜爪,如果該區(qū)域沒有邊緣節(jié)點(diǎn)則最快的一定是邏輯相鄰的區(qū)域內(nèi)的邊緣節(jié)點(diǎn)蠕趁。
  • 邊緣節(jié)點(diǎn)能訪問的最快節(jié)點(diǎn)一定是該區(qū)域內(nèi)的區(qū)域節(jié)點(diǎn),一定不會(huì)是其他區(qū)域的節(jié)點(diǎn)辛馆。
  • 區(qū)域節(jié)點(diǎn)到中心節(jié)點(diǎn)一定是最快的俺陋,這個(gè)鏈路的速度和帶寬都是最優(yōu)的。

但實(shí)際真的如此么?引入了如此多的假設(shè)真的正確么腊状?

實(shí)際上就算理論上我們可以證明以上假設(shè)有效诱咏,但是節(jié)點(diǎn)規(guī)劃和區(qū)域配置大都依賴于人的設(shè)計(jì)和規(guī)劃,我們知道人多是不靠譜的寿酌,而且就算當(dāng)時(shí)區(qū)域規(guī)劃正確胰苏,誰能保證這些靜態(tài)的網(wǎng)絡(luò)規(guī)劃不會(huì)因?yàn)殇佋O(shè)了一條光纖或者因?yàn)槟承?IDC 壓力過大而發(fā)生了改變呢?所以我們可以跳出樹狀網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的桎梏醇疼,探索新的適合直播加速的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)硕并。

為了擺脫有限的鏈路路由線路限制,激活整理網(wǎng)絡(luò)的能力秧荆,我們可以把上述的節(jié)點(diǎn)變成網(wǎng)狀網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu):

vdn_ping.png

我們看到一旦我們把網(wǎng)絡(luò)結(jié)構(gòu)改成了網(wǎng)狀結(jié)構(gòu)倔毙,則用戶的可選擇鏈路變?yōu)椋簾o向圖的指定兩點(diǎn)間的所有路徑,學(xué)過圖論的同學(xué)都知道乙濒,數(shù)量驚人

系統(tǒng)可以通過智能路由選擇任何一個(gè)最快的鏈路而不用依賴于系統(tǒng)部署時(shí)過時(shí)的人工規(guī)劃陕赃,無論是某些鏈路間增加了光纖或者某個(gè) IDC 壓力過大都可以實(shí)時(shí)的反映到整理網(wǎng)絡(luò)中,幫助用戶實(shí)時(shí)推倒出最優(yōu)鏈路颁股。這時(shí)我們可以去掉前面的一些假設(shè)么库,通過機(jī)器而不是人類來時(shí)實(shí)時(shí)規(guī)劃網(wǎng)絡(luò)的鏈路路由,這種實(shí)時(shí)大規(guī)模的計(jì)算任務(wù)天生就不是人類的強(qiáng)項(xiàng)甘有,我們應(yīng)該交給更適合的物種诉儒。

內(nèi)容分發(fā)網(wǎng)絡(luò)的擴(kuò)容

前面提到中國公司的出海已成大勢,CDN 海外節(jié)點(diǎn)的需求越來越大亏掀,遇到這種情況需要 CDN 廠商在新的區(qū)域部署新的骨干網(wǎng)和邊緣節(jié)點(diǎn)忱反,需要做詳細(xì)的網(wǎng)絡(luò)規(guī)劃。時(shí)代發(fā)生變化滤愕,原來 CDN 用戶都是企業(yè)級(jí)用戶温算,本身業(yè)務(wù)線的迭代周期較長,有較長時(shí)間的規(guī)劃间影,留給 CDN 廠商的時(shí)間也比較多注竿。而互聯(lián)網(wǎng)公司講究的是速度,雙周迭代已成常態(tài)魂贬,這里面涉及到成本和響應(yīng)速度的矛盾蔓搞,如果提前部署節(jié)點(diǎn)可以更好的為這些互聯(lián)網(wǎng)公司服務(wù),但是有較高的成本壓力随橘,反之則無法響應(yīng)這些快速發(fā)展的互聯(lián)網(wǎng)公司。

理想情況是锦庸,用戶提出需求机蔗,CDN 廠商內(nèi)部評(píng)估,當(dāng)天給出反饋,當(dāng)天部署萝嘁,客戶當(dāng)天就可以測試新區(qū)域的新節(jié)點(diǎn)梆掸。怎么解決?

答案是基于網(wǎng)狀拓?fù)浣Y(jié)構(gòu)的對(duì)等網(wǎng)絡(luò)牙言,在網(wǎng)狀拓?fù)浣Y(jié)構(gòu)中每個(gè)節(jié)點(diǎn)都是 Peer 酸钦,邏輯上每個(gè)節(jié)點(diǎn)提供的服務(wù)對(duì)等,不需要按區(qū)域設(shè)計(jì)復(fù)雜的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)咱枉,節(jié)點(diǎn)上線后不需要復(fù)雜的開局過程卑硫,直接上線注冊(cè)節(jié)點(diǎn)信息,就可以對(duì)用戶提供服務(wù)了,結(jié)合虛擬化技術(shù)前后時(shí)間理論上可以控制在一天之內(nèi)蚕断。

vdn_new.png

回歸本質(zhì):LiveNet TM

我們知道最早的互聯(lián)網(wǎng)就是網(wǎng)狀拓?fù)浣Y(jié)構(gòu)欢伏,后來才慢慢加入了骨干網(wǎng)來解決各種各樣的問題,我們是時(shí)候該回歸本質(zhì)亿乳,擁抱下一代 Live 分發(fā)網(wǎng)絡(luò):LiveNet TM 硝拧。總結(jié)前面的討論葛假,我們發(fā)現(xiàn) Live 時(shí)代我們需要的內(nèi)容分發(fā)網(wǎng)絡(luò)是:

  • 對(duì) Cache 的要求沒有以前那么高
  • 對(duì)實(shí)時(shí)性的要求非常高
  • 對(duì)節(jié)點(diǎn)運(yùn)維的要求高障陶,要更智能,盡量減少人工干預(yù)
  • 對(duì)擴(kuò)容這種運(yùn)維事件響應(yīng)度要求非常高

要做到如上幾點(diǎn)聊训,我們需要:

  • 去中心化抱究,網(wǎng)狀拓?fù)?/li>
  • 全球全網(wǎng)調(diào)度
  • 節(jié)點(diǎn)無狀態(tài),節(jié)點(diǎn)對(duì)等
  • 智能運(yùn)維

以上這些就是 LiveNet TM 設(shè)計(jì)時(shí)候的斟酌魔眨,讓運(yùn)維更自動(dòng)化媳维,系統(tǒng)運(yùn)行高度自治,依賴機(jī)器計(jì)算而不是人工判斷遏暴,下面分別介紹一下侄刽。

去中心,網(wǎng)狀拓?fù)?/h3>

網(wǎng)狀拓?fù)浣Y(jié)構(gòu)是設(shè)計(jì)的根本和基礎(chǔ)朋凉,只有看清了我們對(duì) Cache 需求的降低州丹,網(wǎng)狀拓?fù)浣Y(jié)構(gòu)才更有優(yōu)勢。

全球全網(wǎng)調(diào)度

基于全球一張網(wǎng)杂彭,不在受限于區(qū)域網(wǎng)絡(luò)調(diào)度墓毒,將調(diào)度的范圍從區(qū)域網(wǎng)絡(luò)擴(kuò)展到全球,全網(wǎng)內(nèi)的節(jié)點(diǎn)都可以響應(yīng)用戶的請(qǐng)求亲怠,參與鏈路路由所计,不再先由人工假設(shè)選定一部分節(jié)點(diǎn)進(jìn)行路由,去掉人工干預(yù)团秽,讓整個(gè)系統(tǒng)更智能主胧。

節(jié)點(diǎn)無狀態(tài)叭首,節(jié)點(diǎn)對(duì)等

LiveNet TM 節(jié)點(diǎn)無狀態(tài)和節(jié)點(diǎn)對(duì)等都方便了運(yùn)維,去掉了區(qū)域概念后的全球一張網(wǎng)讓整個(gè)拓?fù)浣Y(jié)構(gòu)變的異常復(fù)雜踪栋,如果各個(gè)節(jié)點(diǎn)間有先后依賴關(guān)系焙格,勢必讓運(yùn)維成為噩夢(mèng),需要專有的服務(wù)編排系統(tǒng)夷都,同時(shí)也給擴(kuò)容帶來困難眷唉,需要運(yùn)維人員設(shè)計(jì)復(fù)雜的擴(kuò)容方案,需要預(yù)演多次才敢在復(fù)雜的網(wǎng)絡(luò)拓?fù)渲袛U(kuò)容囤官。當(dāng)時(shí)如果節(jié)點(diǎn)本身對(duì)等且無狀態(tài)冬阳,則運(yùn)維和擴(kuò)容都變的容易很多。

但整個(gè)系統(tǒng)在運(yùn)行過程中還是會(huì)一些狀態(tài)和數(shù)據(jù)需要保持治拿,比如某些 Live 內(nèi)容需要落地回放的需求摩泪,這些通過久經(jīng)考驗(yàn)的七牛云存儲(chǔ)來存儲(chǔ)。

智能運(yùn)維

智能運(yùn)維建立在以上的「網(wǎng)狀拓?fù)浣Y(jié)構(gòu)的對(duì)等網(wǎng)絡(luò)」的基礎(chǔ)上會(huì)變的容易的多劫谅〖樱可以方便的下線有問題的節(jié)點(diǎn)而不影響整個(gè) LiveNet TM 網(wǎng)絡(luò),可以方便快速的上線新節(jié)點(diǎn)捏检,提升系統(tǒng)容量荞驴。通過節(jié)點(diǎn)的數(shù)據(jù)分析可以更好的了解整個(gè)網(wǎng)絡(luò)的整體狀態(tài)。

下面列舉部分 LiveNet TM 采用的智能運(yùn)維方案贯城,讓內(nèi)容分發(fā)網(wǎng)絡(luò)再次升級(jí)熊楼,以符合 Live 時(shí)代的要求。

  • 監(jiān)控節(jié)點(diǎn)健康狀況能犯,實(shí)時(shí)下線有問題的節(jié)點(diǎn)
  • Failover 機(jī)制鲫骗,保證服務(wù)一直可用
  • 快速擴(kuò)容

LiveNet TM VS P2P

最后我們和 P2P 網(wǎng)絡(luò)做一個(gè)對(duì)比:

LiveNet TM P2P CDN
網(wǎng)狀結(jié)構(gòu) 網(wǎng)狀結(jié)構(gòu) 樹狀結(jié)構(gòu)
對(duì)等網(wǎng)絡(luò) 對(duì)等網(wǎng)絡(luò) 異構(gòu)網(wǎng)絡(luò)
自有節(jié)點(diǎn) 混合節(jié)點(diǎn),部分自有 自有節(jié)點(diǎn)
鏈路多踩晶,穩(wěn)定 鏈路特別多执泰,不穩(wěn)定 鏈路少,穩(wěn)定
擴(kuò)容周期短 擴(kuò)容周期短 擴(kuò)容周期長
節(jié)點(diǎn)可管理性強(qiáng) 節(jié)點(diǎn)可管理性弱 節(jié)點(diǎn)可管理性強(qiáng)
節(jié)點(diǎn)質(zhì)量好 節(jié)點(diǎn)質(zhì)量參差不齊 節(jié)點(diǎn)質(zhì)量好

我們發(fā)現(xiàn) P2P 方案渡蜻,節(jié)點(diǎn)的可控性和鏈路的穩(wěn)定性上還有很大提升空間术吝,比較適合在實(shí)時(shí)性要求不高的場景使用、適合長尾需求茸苇,在 Live 的場景下面多是對(duì)實(shí)時(shí)性要求比較高的重度用戶排苍,無法忍受頻繁的 FailOver 和節(jié)點(diǎn)質(zhì)量參差不齊帶來的網(wǎng)絡(luò)抖動(dòng),但是如果是文件分發(fā)就比較適合用這種混合方案学密,可以有效降低 CDN 廠商成本淘衙,利用共享經(jīng)濟(jì)提高資源利用率。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末腻暮,一起剝皮案震驚了整個(gè)濱河市幔翰,隨后出現(xiàn)的幾起案子漩氨,更是在濱河造成了極大的恐慌,老刑警劉巖遗增,帶你破解...
    沈念sama閱讀 222,627評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異款青,居然都是意外死亡做修,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門抡草,熙熙樓的掌柜王于貴愁眉苦臉地迎上來饰及,“玉大人,你說我怎么就攤上這事康震×呛” “怎么了?”我有些...
    開封第一講書人閱讀 169,346評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵腿短,是天一觀的道長屏箍。 經(jīng)常有香客問我,道長橘忱,這世上最難降的妖魔是什么赴魁? 我笑而不...
    開封第一講書人閱讀 60,097評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮钝诚,結(jié)果婚禮上颖御,老公的妹妹穿的比我還像新娘。我一直安慰自己凝颇,他們只是感情好潘拱,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,100評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拧略,像睡著了一般芦岂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上辑鲤,一...
    開封第一講書人閱讀 52,696評(píng)論 1 312
  • 那天盔腔,我揣著相機(jī)與錄音,去河邊找鬼月褥。 笑死弛随,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的宁赤。 我是一名探鬼主播舀透,決...
    沈念sama閱讀 41,165評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼决左!你這毒婦竟也來了愕够?” 一聲冷哼從身側(cè)響起走贪,我...
    開封第一講書人閱讀 40,108評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎惑芭,沒想到半個(gè)月后坠狡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,646評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡遂跟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,709評(píng)論 3 342
  • 正文 我和宋清朗相戀三年逃沿,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片幻锁。...
    茶點(diǎn)故事閱讀 40,861評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡凯亮,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出哄尔,到底是詐尸還是另有隱情假消,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布岭接,位于F島的核電站富拗,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏亿傅。R本人自食惡果不足惜媒峡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,196評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望葵擎。 院中可真熱鬧谅阿,春花似錦、人聲如沸酬滤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽盯串。三九已至氯檐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間体捏,已是汗流浹背冠摄。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評(píng)論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留几缭,地道東北人河泳。 一個(gè)月前我還...
    沈念sama閱讀 49,287評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像年栓,于是被迫代替她去往敵國和親拆挥。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,860評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容