阿里云 EMR StarRocks 在七貓的應(yīng)用和實(shí)踐

七貓公司簡(jiǎn)介

七貓是一家深耕文化娛樂(lè)行業(yè)的互聯(lián)網(wǎng)企業(yè),總部坐落在上海市前灘中心感憾。七貓旗下原創(chuàng)文學(xué)網(wǎng)站七貓中文網(wǎng)于2017年5月正式上線鲜戒,專注為原創(chuàng)作者提供創(chuàng)作指導(dǎo)、版權(quán)運(yùn)營(yíng)等全方位一體化服務(wù)沾歪。七貓拳頭產(chǎn)品七貓免費(fèi)小說(shuō)App于2018年8月正式上線,專注為用戶提供正版雾消、免費(fèi)灾搏、優(yōu)質(zhì)的網(wǎng)絡(luò)文學(xué)內(nèi)容閱讀服務(wù)。現(xiàn)平臺(tái)用戶超6億立润,規(guī)模位列數(shù)字閱讀行業(yè)前列狂窑。

七貓大數(shù)據(jù)架構(gòu)介紹

七貓的數(shù)倉(cāng)團(tuán)隊(duì)主要是承接七貓各條業(yè)務(wù)線的離線數(shù)據(jù)開(kāi)發(fā)、實(shí)時(shí)數(shù)據(jù)開(kāi)發(fā)桑腮、指標(biāo)建設(shè)泉哈、數(shù)據(jù)治理等工作。我加入七貓大約兩年時(shí)間破讨,加入后第一件事就是引入StarRocks≈枷铮現(xiàn)在七貓有五套StarRocks集群在生產(chǎn)環(huán)境投入了使用。據(jù)不完全統(tǒng)計(jì)添忘,數(shù)據(jù)治理前離線數(shù)據(jù)加實(shí)時(shí)數(shù)據(jù),總數(shù)據(jù)量大約在20PB左右若锁。那我們是如何維護(hù)和管理這些數(shù)據(jù)的呢搁骑?下面會(huì)通過(guò)一張簡(jiǎn)化版的數(shù)據(jù)架構(gòu)圖來(lái)介紹。

如上圖所示,最左邊是數(shù)據(jù)來(lái)源仲器,這些數(shù)據(jù)源可以理解為用戶在七貓APP上的用戶行為數(shù)據(jù)煤率,包括曝光、點(diǎn)擊乏冀、閱讀時(shí)長(zhǎng)蝶糯、點(diǎn)贊、評(píng)論辆沦、瀏覽廣告等昼捍。這些數(shù)據(jù)會(huì)通過(guò)日志埋點(diǎn)的形式上報(bào)到日志接收系統(tǒng)。日志接收系統(tǒng)會(huì)將用戶行為數(shù)據(jù)和廣告數(shù)據(jù)進(jìn)行分流肢扯,分別存在兩個(gè)Kafka里面妒茬。大數(shù)據(jù)通過(guò) Flink 實(shí)時(shí)消費(fèi)兩個(gè) Kafka 的數(shù)據(jù)并實(shí)時(shí)寫(xiě)入到 Hive 數(shù)據(jù)表中。在 Hive 里進(jìn)行一系列 ETL 操作之后蔚晨,數(shù)據(jù)會(huì)流入到 StarRocks 和 Redis 乍钻,為下游的業(yè)務(wù)提供直接的數(shù)據(jù)服務(wù),其中 Redis 主要應(yīng)對(duì)的是高并發(fā)的場(chǎng)景铭腕∫瘢基于 StarRocks 和 Redis,下游開(kāi)發(fā)各種系統(tǒng)累舷,比如統(tǒng)一的 BI 系統(tǒng)浩考、指標(biāo)管理系統(tǒng),AB實(shí)驗(yàn)系統(tǒng)笋粟、通用人群圈選系統(tǒng)等怀挠。后面將為大家重點(diǎn)介紹通用人群圈選系統(tǒng)的工作流程和設(shè)計(jì)思路。

中間部分是七貓大數(shù)據(jù)數(shù)倉(cāng)的基礎(chǔ)數(shù)據(jù)害捕。上下兩個(gè)分支分別是市場(chǎng)投放業(yè)務(wù)數(shù)據(jù)以及商業(yè)化業(yè)務(wù)數(shù)據(jù)绿淋。這兩條業(yè)務(wù)線的數(shù)據(jù)特點(diǎn)是數(shù)據(jù)量非常大,實(shí)時(shí)性要求高尝盼,每秒鐘可能產(chǎn)生幾百萬(wàn)條數(shù)據(jù)吞滞。分別通過(guò) Flink CDC 以及 Flink Connector 每五分鐘聚合寫(xiě)入到 StarRocks 里,關(guān)聯(lián)數(shù)倉(cāng)的其它用戶行為數(shù)據(jù)盾沫,為下游提供數(shù)據(jù)服務(wù)裁赠,滿足業(yè)務(wù)看數(shù)和用數(shù)的需求。

除了市場(chǎng)投放以及商業(yè)化業(yè)務(wù)數(shù)據(jù)之外赴精,還有其他八條業(yè)務(wù)線佩捞。所有的業(yè)務(wù)線都有用數(shù)看數(shù)的需求,要同時(shí)應(yīng)對(duì)各個(gè)業(yè)務(wù)線的數(shù)據(jù)需求蕾哟,必須要依靠工具的力量來(lái)提升數(shù)據(jù)的交付效率一忱。所以我們將各條業(yè)務(wù)線的數(shù)據(jù)需求莲蜘,抽象成公共的數(shù)據(jù)能力,統(tǒng)一的提供服務(wù)帘营。幾個(gè)比較典型的業(yè)務(wù)場(chǎng)景票渠,如數(shù)據(jù)地圖、自助指標(biāo)分析芬迄,數(shù)據(jù)治理问顷、AB實(shí)驗(yàn)等。對(duì)應(yīng)地在數(shù)據(jù)資產(chǎn)管理平臺(tái)里會(huì)提供元數(shù)據(jù)服務(wù)禀梳,統(tǒng)一指標(biāo)庫(kù)杜窄、成本核算等數(shù)據(jù)能力。

上圖所示的模塊出皇,大部分都已經(jīng)在生產(chǎn)環(huán)境使用了羞芍,只有小部分還在開(kāi)發(fā)中。中間有一段是數(shù)據(jù)讀寫(xiě)層郊艘。Flink 和 Spark 主要的功能是將數(shù)據(jù)寫(xiě)入到數(shù)倉(cāng)中荷科,然后 StarRocks、Kylin纱注、Trino畏浆、ClickHouse 的主要功能是將數(shù)倉(cāng)中的結(jié)果數(shù)據(jù)提供給業(yè)務(wù)線。由于歷史原因狞贱,平臺(tái) OLAP 引擎多樣且語(yǔ)法不統(tǒng)一刻获,導(dǎo)致給數(shù)據(jù)開(kāi)發(fā)和業(yè)務(wù)使用增加了門(mén)檻。所以在長(zhǎng)期規(guī)劃中瞎嬉,我們會(huì)逐步精簡(jiǎn) OLAP 引擎蝎毡,逐步打造基于 StarRocks + Kylin 的 OLAP 引擎,為業(yè)務(wù)數(shù)據(jù)提供統(tǒng)一支持氧枣。

阿里云EMR-StarRocks 在七貓的實(shí)踐案例

通用人群圈選系統(tǒng)

通用人群圈選系統(tǒng)上線之前沐兵,我們數(shù)倉(cāng)團(tuán)隊(duì)平均一周會(huì)接到2-3個(gè)用戶圈選需求,系統(tǒng)上線之后則是平均2-3個(gè)月接到一個(gè)需求便监。為什么會(huì)出現(xiàn)這么大的變化呢扎谎?類比邊緣計(jì)算的思路,邊緣計(jì)算將云計(jì)算所需要完成的工作前置到終端來(lái)進(jìn)行執(zhí)行烧董,從而減輕中心節(jié)點(diǎn)的負(fù)載和壓力毁靶。同理,原先用戶圈選需要由數(shù)倉(cāng)同學(xué)才能夠完成逊移,現(xiàn)在則將這些工作前置到業(yè)務(wù)團(tuán)隊(duì)來(lái)完成预吆。將圈選人群的工作下發(fā)到業(yè)務(wù),業(yè)務(wù)同學(xué)只需要寫(xiě)一段 SQL 提交到系統(tǒng)胳泉,系統(tǒng)就會(huì)自動(dòng)創(chuàng)建人群包啡浊。

用戶圈選系統(tǒng)的實(shí)現(xiàn)原理如上圖所示觅够,起點(diǎn)是分析師/運(yùn)營(yíng)通過(guò)自定義的 SQL 創(chuàng)建人群包,將人群配置信息注冊(cè)到圈選系統(tǒng)上巷嚣,數(shù)據(jù)資產(chǎn)管理平臺(tái)的人群圈選的模塊會(huì)定期讀取配置信息,然后調(diào)用作業(yè)調(diào)度系統(tǒng)的API钳吟,自動(dòng)生成圈選作業(yè)并定時(shí)調(diào)度廷粒,同時(shí)還會(huì)解決上下游依賴問(wèn)題。

第一版用戶圈選系統(tǒng)人群信息數(shù)據(jù)主要落在Redis红且,通過(guò)數(shù)據(jù)服務(wù)給到業(yè)務(wù)服務(wù)使用坝茎。因?yàn)闃I(yè)務(wù)服務(wù)針對(duì)不同人群有不同的策略及實(shí)驗(yàn),同時(shí)考慮到離線數(shù)據(jù)分析部分的人群信息暇番,也會(huì)自動(dòng)落一份數(shù)據(jù)到 Hive 里嗤放,幫助分析師或者算法同學(xué)關(guān)聯(lián)數(shù)倉(cāng)的用戶行為指標(biāo)來(lái)進(jìn)行分析。這部分可以了解人群建好一段時(shí)間之后的人群表現(xiàn)壁酬,并通過(guò)數(shù)據(jù)關(guān)聯(lián)進(jìn)行分析次酌。由于 Redis 的使用成本比較高,遂引入了 StarRocks 舆乔。StarRocks 可以存儲(chǔ)的數(shù)據(jù)量也比較大岳服,相對(duì) Redis 來(lái)說(shuō),整體使用成本比較低希俩。作業(yè)調(diào)度系統(tǒng)中吊宋,StarRocks、Redis颜武、Hive 都是可選的引擎璃搜,由業(yè)務(wù)同學(xué)自己決定×凵希可以看到在整個(gè)流程中这吻,數(shù)倉(cāng)同學(xué)幾乎沒(méi)有露臉,實(shí)現(xiàn)業(yè)務(wù)同學(xué)玩轉(zhuǎn)系統(tǒng)初衷因块。碰到疑難問(wèn)題橘原,再由數(shù)倉(cāng)同學(xué)介入解決,節(jié)省了人力成本以支持更多業(yè)務(wù)需求涡上。

通用人群圈選系統(tǒng)截圖

指標(biāo)異動(dòng)自動(dòng)下鉆探查

指標(biāo)異動(dòng)自動(dòng)下鉆探查是我們七貓數(shù)倉(cāng)團(tuán)隊(duì)自研的功能趾断,目前處于孵化階段。由于還沒(méi)有前端同學(xué)參與吩愧,界面稍顯簡(jiǎn)陋芋酌,但因?yàn)楣δ軓?qiáng)大,迫不及待跟大家分享雁佳。指標(biāo)異動(dòng)自動(dòng)下鉆探查功能脐帝,可以自動(dòng)發(fā)現(xiàn)細(xì)分維度下同云,指標(biāo)異常的根源,快速定位指標(biāo)異動(dòng)原因堵腹。

上圖所示的所有節(jié)點(diǎn)都是指標(biāo)炸站,出現(xiàn)在這棵指標(biāo)樹(shù)上的都是異常指標(biāo)。當(dāng)指標(biāo)出現(xiàn)異常如 DAU 上漲/下跌時(shí)旱易,可以根據(jù)節(jié)點(diǎn)和節(jié)點(diǎn)之間的連接關(guān)系,一層一層下鉆,找到最細(xì)維度組合下的指標(biāo)異常,然后定位到負(fù)責(zé)該指標(biāo)的業(yè)務(wù)同學(xué)或辖,了解業(yè)務(wù)是否有變更,導(dǎo)致 DAU 波動(dòng)忌堂。通過(guò)指標(biāo)異動(dòng)自動(dòng)下鉆探查功能,原本可能耗時(shí)半天的繁瑣SQL查詢酗洒,可以壓縮至5分鐘內(nèi)獲得洞察士修。

實(shí)現(xiàn)指標(biāo)異動(dòng)自動(dòng)下鉆探查功能,主要有兩個(gè)關(guān)鍵技術(shù)點(diǎn)寝蹈。第一個(gè)是如何判斷指標(biāo)是否異常李命;第二個(gè)是如何將異常指標(biāo)連接展現(xiàn)。

異常指標(biāo)判定:我們會(huì)通過(guò)預(yù)測(cè)算法箫老,基于歷史數(shù)據(jù)預(yù)測(cè)指標(biāo)的正常范圍封字。如果當(dāng)前指標(biāo)不在正常范圍中,則視為指標(biāo)異常耍鬓。例如阔籽,通過(guò)分析過(guò)去數(shù)月的DAU趨勢(shì),確定當(dāng)前DAU是否顯著偏移預(yù)測(cè)區(qū)間牲蜀。

異常指標(biāo)串聯(lián)展現(xiàn):對(duì)指標(biāo)的下鉆維度進(jìn)度編碼笆制,高效構(gòu)建指標(biāo)間的層級(jí)關(guān)系,實(shí)現(xiàn)從單一指標(biāo)到多維度組合的逐級(jí)下鉆分析涣达,將異常的指標(biāo)通過(guò)樹(shù)形結(jié)構(gòu)串聯(lián)起來(lái)在辆,然后進(jìn)行可視化展現(xiàn)。

730 天微聚合數(shù)據(jù)靈活下鉆分析

最近半年度苔,七貓?jiān)谔嵘脩魳?biāo)簽的覆蓋度和準(zhǔn)確度方向做了很多工作匆篓,覆蓋度和準(zhǔn)確度提升的同時(shí),也導(dǎo)致歷史數(shù)據(jù)分析的連續(xù)性和準(zhǔn)確性受到了干擾寇窑。如某用戶從原識(shí)別為女性調(diào)整為男性鸦概,直接對(duì)比更新前后的數(shù)據(jù)可能導(dǎo)致誤讀,如看似女性用戶閱讀時(shí)長(zhǎng)驟減而男性用戶時(shí)長(zhǎng)激增的現(xiàn)象甩骏,實(shí)則是歸類調(diào)整的結(jié)果窗市,并非真實(shí)行為變化先慷。這對(duì)依賴于此類數(shù)據(jù)進(jìn)行算法優(yōu)化和業(yè)務(wù)決策的團(tuán)隊(duì)構(gòu)成了嚴(yán)峻挑戰(zhàn),尤其是在面對(duì)大規(guī)模標(biāo)簽更新時(shí)咨察,問(wèn)題復(fù)雜度呈指數(shù)級(jí)增長(zhǎng)论熙,傳統(tǒng)處理方式難以為繼。

為應(yīng)對(duì)這一難題摄狱,團(tuán)隊(duì)集思廣益赴肚,提出了一項(xiàng)創(chuàng)新策略:每日采用最新用戶標(biāo)簽重新計(jì)算過(guò)去730天的數(shù)據(jù),以確保分析的一致性和時(shí)效性二蓝。然而,涉及約5億用戶指厌、150億指標(biāo)數(shù)據(jù)刊愚,執(zhí)行此策略面臨的數(shù)據(jù)處理規(guī)模十分龐大,涉及的查詢性能必然很差踩验。此外鸥诽,由于集群規(guī)模小,數(shù)據(jù)量龐大箕憾,數(shù)據(jù)甚至無(wú)法導(dǎo)入牡借,增加節(jié)點(diǎn),增大集群規(guī)模又會(huì)面臨很高的成本問(wèn)題袭异。探索如采用bitmap編碼優(yōu)化存儲(chǔ)與查詢效率的方式钠龙,也因?qū)嵤?fù)雜度和溝通成本高而未能采納。

最終御铃,通過(guò)一個(gè)StarRocks使用小技巧解決了這個(gè)問(wèn)題碴里,第一步是在 Hive 表中通過(guò)行轉(zhuǎn)列,將730條記錄合并成1條上真,再將縮小了730倍的數(shù)據(jù)導(dǎo)入到 StarRocks 中創(chuàng)建視圖咬腋,導(dǎo)入之后將數(shù)據(jù)與最新的標(biāo)簽數(shù)據(jù)進(jìn)行 join,再將指標(biāo)按照業(yè)務(wù)要求的維度進(jìn)行分組睡互,最后創(chuàng)建基于視圖的物化視圖根竿。每天只要 Refresh 物化視圖,就能夠達(dá)到指標(biāo)查詢加速的效果就珠,實(shí)現(xiàn)查詢秒出寇壳。經(jīng)過(guò)一段時(shí)間的運(yùn)行驗(yàn)證,系統(tǒng)穩(wěn)定性良好嗓违,業(yè)務(wù)部門(mén)反饋積極九巡,用戶標(biāo)簽更新帶來(lái)的問(wèn)題成功解決。

未來(lái)展望

指標(biāo)加速層建設(shè)

目前我們數(shù)倉(cāng)團(tuán)隊(duì)在 Hive 里構(gòu)建數(shù)據(jù)模型和指標(biāo)后蹂季,還需人工同步數(shù)據(jù)至 StarRocks冕广,手段在 BI 系統(tǒng)中創(chuàng)建數(shù)據(jù)集疏日,以及手動(dòng)在指標(biāo)管理系統(tǒng)內(nèi)進(jìn)行登記注冊(cè)。后續(xù)我們計(jì)劃在數(shù)據(jù)資產(chǎn)管理平臺(tái)建設(shè)指標(biāo)加速層撒汉,核心 OLAP 引擎選用 StarRocks+ Kylin沟优,數(shù)據(jù)開(kāi)發(fā)人員僅需在指標(biāo)管理系統(tǒng)中精準(zhǔn)定義模型和指標(biāo),即可自動(dòng)生成 BI 系統(tǒng)數(shù)據(jù)集睬辐,同時(shí)自動(dòng)完成 StarRocks 與 Redis 中的數(shù)據(jù)加速處理挠阁。

埋點(diǎn)全鏈路數(shù)據(jù)治理

2024年3月我們啟動(dòng)了數(shù)據(jù)治理專項(xiàng),截止到5月份溯饵,在數(shù)據(jù)量持續(xù)增長(zhǎng)的情況下侵俗,完成了降本 70萬(wàn)元/月 的目標(biāo)。主要涉及到的工作內(nèi)容如下:

1丰刊、數(shù)據(jù)開(kāi)發(fā)和治理規(guī)范

  • 開(kāi)發(fā)數(shù)據(jù)治理工具:自動(dòng)識(shí)別需要治理的數(shù)據(jù)表和資源利用率低的任務(wù)隘谣,告警到個(gè)人。
  • 開(kāi)發(fā)黑名單功能:對(duì)長(zhǎng)時(shí)間沒(méi)有優(yōu)化的數(shù)據(jù)表和任務(wù)啄巧,自動(dòng) Kill 寻歧。

2、存儲(chǔ)治理

  • 基于對(duì)象存儲(chǔ)的歸檔能力秩仆,將訪問(wèn)頻度低的分區(qū)數(shù)據(jù)進(jìn)行分級(jí)歸檔(冷歸檔的存儲(chǔ)成本大約是標(biāo)準(zhǔn)存儲(chǔ)成本的 1/10)码泛。
  • 基于數(shù)據(jù)血緣能力,將出度和入度較小的數(shù)據(jù)表下線澄耍,用其它熱度較高數(shù)據(jù)表代替噪珊。

3、計(jì)算資源治理

  • 基于 Spark 集群的彈性擴(kuò)縮容的能力逾苫,減少常駐 Spark 節(jié)點(diǎn)數(shù)卿城。
  • 通過(guò) YARN 資源的監(jiān)控,對(duì) Spark 任務(wù)進(jìn)行編排铅搓,減少?gòu)椥詳U(kuò)容的 Spark 節(jié)點(diǎn)數(shù)瑟押。

值得注意的是,目前的數(shù)據(jù)治理實(shí)踐主要圍繞數(shù)倉(cāng)內(nèi)的表與任務(wù)展開(kāi)星掰,尚未覆蓋至 StarRocks 多望。所以接下來(lái)我們計(jì)劃進(jìn)行面向埋點(diǎn)的全鏈路數(shù)據(jù)治理:

  • 統(tǒng)計(jì)報(bào)表和數(shù)據(jù)集的訪問(wèn)頻次,下線低熱度報(bào)表和數(shù)據(jù)集氢烘,數(shù)據(jù)集對(duì)應(yīng)的 EMR StarRocks 數(shù)據(jù)表訪問(wèn)頻次會(huì)響應(yīng)降低怀偷;
  • 根據(jù) EMR StarRocks 數(shù)據(jù)表的分區(qū)訪問(wèn)頻次,分辨冷熱數(shù)據(jù)表播玖、分區(qū)椎工,熱數(shù)據(jù)保留在EMR-StarRocks中,溫冷數(shù)據(jù)移動(dòng)到 Hive 中;
  • Hive 表中訪問(wèn)頻次低的字段维蒙、埋點(diǎn)逐步下線掰吕;
  • 借助EMR-StarRocks的存算分離的能力,根據(jù)統(tǒng)計(jì)信息制定規(guī)定颅痊,在本地存儲(chǔ)和對(duì)象存儲(chǔ)之間殖熟,自動(dòng)遷移數(shù)據(jù)。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末斑响,一起剝皮案震驚了整個(gè)濱河市菱属,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌舰罚,老刑警劉巖纽门,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異营罢,居然都是意外死亡膜毁,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)愤钾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人候醒,你說(shuō)我怎么就攤上這事能颁。” “怎么了倒淫?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵伙菊,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我敌土,道長(zhǎng)镜硕,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任返干,我火速辦了婚禮兴枯,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘矩欠。我一直安慰自己财剖,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布癌淮。 她就那樣靜靜地躺著躺坟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪乳蓄。 梳的紋絲不亂的頭發(fā)上咪橙,一...
    開(kāi)封第一講書(shū)人閱讀 48,970評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼美侦。 笑死产舞,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的音榜。 我是一名探鬼主播庞瘸,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼赠叼!你這毒婦竟也來(lái)了擦囊?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤嘴办,失蹤者是張志新(化名)和其女友劉穎瞬场,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體涧郊,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡贯被,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了妆艘。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片彤灶。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖批旺,靈堂內(nèi)的尸體忽然破棺而出幌陕,到底是詐尸還是另有隱情,我是刑警寧澤汽煮,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布搏熄,位于F島的核電站,受9級(jí)特大地震影響暇赤,放射性物質(zhì)發(fā)生泄漏心例。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一鞋囊、第九天 我趴在偏房一處隱蔽的房頂上張望止后。 院中可真熱鬧,春花似錦溜腐、人聲如沸坯门。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)古戴。三九已至,卻和暖如春矩肩,著一層夾襖步出監(jiān)牢的瞬間现恼,已是汗流浹背肃续。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留叉袍,地道東北人始锚。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像喳逛,于是被迫代替她去往敵國(guó)和親瞧捌。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

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