==統(tǒng)一資源管理與調(diào)度平臺(tái)(系統(tǒng))介紹--YARN/Mesos

董的博客 ? 統(tǒng)一資源管理與調(diào)度平臺(tái)(系統(tǒng))介紹
http://dongxicheng.org/mapreduce-nextgen/mesos_vs_yarn/

  1. 背景
    隨著互聯(lián)網(wǎng)的高速發(fā)展,基于數(shù)據(jù)密集型應(yīng)用的計(jì)算框架不斷出現(xiàn),從支持離線處理的MapReduce酪耳,到支持在線處理的Storm,從迭代式計(jì)算框架Spark到流式處理框架S4橱夭,…荆隘,各種框架誕生于不同的公司或者實(shí)驗(yàn)室无埃,它們各有所長门粪,各自解決了某一類應(yīng)用問題喊积。而在大部分互聯(lián)網(wǎng)公司中,這幾種框架可能都會(huì)采用玄妈,比如對于搜索引擎公司乾吻,可能的技術(shù)方案如下:網(wǎng)頁建索引采用MapReduce框架髓梅,自然語言處理/數(shù)據(jù)挖掘采用Spark(網(wǎng)頁P(yáng)ageRank計(jì)算,聚類分類算法等绎签,【注】Spark現(xiàn)在不太成熟枯饿,很少有公司嘗試使用),對性能要求很高的數(shù)據(jù)挖掘算法用MPI等诡必⊙寄悖考慮到資源利用率,運(yùn)維成本擒权,數(shù)據(jù)共享等因素,公司一般希望將所有這些框架部署到一個(gè)公共的集群中阁谆,讓它們共享集群的資源碳抄,并對資源進(jìn)行統(tǒng)一使用,這樣场绿,便誕生了資源統(tǒng)一管理與調(diào)度平臺(tái)剖效,典型代表是Mesos和YARN。
    本文總結(jié)了資源統(tǒng)一管理與調(diào)度平臺(tái)產(chǎn)生背景以及它們所應(yīng)具有的特點(diǎn)焰盗,并對比了當(dāng)前比較有名的資源統(tǒng)一管理與調(diào)度平臺(tái)Mesos和YARN璧尸。
  2. 資源統(tǒng)一管理和調(diào)度平臺(tái)具有的特點(diǎn)
    (1)支持多種計(jì)算框架
    資源統(tǒng)一管理和調(diào)度平臺(tái)應(yīng)該提供一個(gè)全局的資源管理器。所有接入的框架要先向該全局資源管理器申請資源熬拒,申請成功之后爷光,再由框架自身的調(diào)度器決定資源交由哪個(gè)任務(wù)使用,也就是說澎粟,整個(gè)大的系統(tǒng)是個(gè)雙層調(diào)度器蛀序,第一層是統(tǒng)一管理和調(diào)度平臺(tái)提供的,另外一層是框架自身的調(diào)度器活烙。
    資源統(tǒng)一管理和調(diào)度平臺(tái)應(yīng)該提供資源隔離徐裸。不同的框架中的不同任務(wù)往往需要的資源(內(nèi)存,CPU啸盏,網(wǎng)絡(luò)IO等)不同重贺,它們運(yùn)行在同一個(gè)集群中,會(huì)相互干擾回懦,為此气笙,應(yīng)該提供一種資源隔離機(jī)制避免任務(wù)之間由資源爭用導(dǎo)致效率下降。
    (2)擴(kuò)展性
    現(xiàn)有的分布式計(jì)算框架都會(huì)將系統(tǒng)擴(kuò)展性作為一個(gè)非常重要的設(shè)計(jì)目標(biāo)粉怕,比如Hadoop健民,好的擴(kuò)展性意味著系統(tǒng)能夠隨著業(yè)務(wù)的擴(kuò)展線性擴(kuò)展。資源統(tǒng)一管理和調(diào)度平臺(tái)融入多種計(jì)算框架后贫贝,不應(yīng)該破壞這種特性秉犹,也就是說蛉谜,統(tǒng)一管理和調(diào)度平臺(tái)不應(yīng)該成為制約框架進(jìn)行水平擴(kuò)展。
    (3)容錯(cuò)性
    同擴(kuò)展性類似崇堵,容錯(cuò)性也是當(dāng)前分布式計(jì)算框架的一個(gè)重要設(shè)計(jì)目標(biāo)型诚,統(tǒng)一管理和調(diào)度平臺(tái)在保持原有框架的容錯(cuò)特性基礎(chǔ)上,自己本身也應(yīng)具有良好的容錯(cuò)性鸳劳。
    (4) 高資源利用率
    如果采用靜態(tài)資源分配狰贯,也就是每個(gè)計(jì)算框架分配一個(gè)集群,往往由于作業(yè)自身的特點(diǎn)或者作業(yè)提交頻率等原因赏廓,集群利用率很低涵紊。當(dāng)將各種框架部署到同一個(gè)大的集群中,進(jìn)行統(tǒng)一管理和調(diào)度后幔摸,由于各種作業(yè)交錯(cuò)且作業(yè)提交頻率大幅度升高摸柄,則為資源利用率的提升增加了機(jī)會(huì)。
    dynamic_sharing

(5)細(xì)粒度的資源分配
細(xì)粒度的資源分配是指直接按照任務(wù)實(shí)際需求分配資源既忆,而不是像MapReduce那樣將槽位作為資源分配單位驱负。這種分配機(jī)制可大大提高資源利用率。

shared-framework

  1. 當(dāng)前比較有名的開源資源統(tǒng)一管理和調(diào)度平臺(tái)
    當(dāng)前比較有名的開源資源統(tǒng)一管理和調(diào)度平臺(tái)有兩個(gè)患雇,一個(gè)是Mesos跃脊,另外一個(gè)是YARN,下面依次對這兩個(gè)系統(tǒng)進(jìn)行介紹苛吱。
    3.1 Mesos
    Mesos誕生于UC Berkeley的一個(gè)研究項(xiàng)目酪术,現(xiàn)已成為Apache Incubator中的項(xiàng)目,當(dāng)前有一些公司使用Mesos管理集群資源翠储,比如Twitter拼缝。


    mesos

    總體上看,Mesos是一個(gè)master/slave結(jié)構(gòu)彰亥,其中咧七,master是非常輕量級的,僅保存了framework(各種計(jì)算框架稱為framework)和mesos slave的一些狀態(tài)任斋,而這些狀態(tài)很容易通過framework和slave重新注冊而重構(gòu)继阻,因而很容易使用了zookeeper解決mesos master的單點(diǎn)故障問題。
    Mesos master實(shí)際上是一個(gè)全局資源調(diào)度器废酷,采用某種策略將某個(gè)slave上的空閑資源分配給某一個(gè)framework瘟檩,各種framework通過自己的調(diào)度器向Mesos master注冊,以接入到Mesos中澈蟆;而Mesos slave主要功能是匯報(bào)任務(wù)的狀態(tài)和啟動(dòng)各個(gè)framework的executor(比如Hadoop的excutor就是TaskTracker)墨辛。
    3.2 YARN
    YARN是下一代MapReduce,即MRv2趴俘,是在第一代MapReduce基礎(chǔ)上演變而來的睹簇,主要是為了解決原始Hadoop擴(kuò)展性較差奏赘,不支持多計(jì)算框架而提出的。它完全不同于Hadoop MapReduce太惠,所有代碼全部重寫而成磨淌。整個(gè)平臺(tái)由Resource Manager(master,功能是資源分配)和Node Manager組成(slave凿渊,功能是節(jié)點(diǎn)管理)梁只。較于HadoopMapReduce,其最大特點(diǎn)是將JobTracker拆分成Resource Manager和Application Master埃脏,其中Resource Manager是全局的資源管理器搪锣,僅負(fù)責(zé)資源分配(由于Resource Manager功能簡單,所以不會(huì)嚴(yán)重制約系統(tǒng)的擴(kuò)展性)彩掐,而Application Master對應(yīng)一個(gè)具體的application(如Hadoop job淤翔, Spark Job等),主要負(fù)責(zé)application的資源申請佩谷,啟動(dòng)各個(gè)任務(wù)和運(yùn)行狀態(tài)監(jiān)控(沒有調(diào)度功能)。


    yarn
  2. Mesos與YARN比較
    Mesos與YARN主要在以下幾方面有明顯不同:
    (1)框架擔(dān)任的角色
    在Mesos中监嗜,各種計(jì)算框架是完全融入Mesos中的谐檀,也就是說,如果你想在Mesos中添加一個(gè)新的計(jì)算框架裁奇,首先需要在Mesos中部署一套該框架桐猬;而在YARN中,各種框架作為client端的library使用刽肠,僅僅是你編寫的程序的一個(gè)庫溃肪,不需要事先部署一套該框架。從這點(diǎn)上說音五,YARN運(yùn)行和使用起來更加方便惫撰。
    (2)調(diào)度機(jī)制
    兩種系統(tǒng)都采用了雙層調(diào)度機(jī)制,即躺涝,第一層是源管理系統(tǒng)(mesos/YARN)將資源分配給應(yīng)用程序(或框架)厨钻,第二層,應(yīng)用程序?qū)⑹盏降馁Y源進(jìn)一步分配給內(nèi)部的任務(wù)坚嗜。但是資源分配器智能化程度不同夯膀,mesos是基于resource offer的調(diào)度機(jī)制,包含非常少的調(diào)度語義苍蔬,他只是簡單的將資源推給各個(gè)應(yīng)用程序诱建,由應(yīng)用程序選擇是否接受資源,而mesos本身并不知道各個(gè)應(yīng)用程序資源需求碟绑;YARN則不同俺猿,應(yīng)用程序的ApplicationMaster會(huì)把各個(gè)任務(wù)的資源要求匯報(bào)給YARN茎匠,YARN則根據(jù)需要為應(yīng)用程序分配資源。
    其他各個(gè)特性對比如下表:
    mesos_vs_yarn

  1. Mesos與YARN發(fā)展情況
    個(gè)人認(rèn)為Mesos和YARN均不成熟辜荠,很多承諾的功能還未實(shí)現(xiàn)或者實(shí)現(xiàn)得不全汽抚,但總體看,它們發(fā)展很快伯病,尤其是YARN造烁,在去年年末推出Hadoop-0.23.0后,近期又推出Hadoop-0.23.1午笛。隨著各種計(jì)算框架(如Spark惭蟋,S4,Storm等)的日趨成熟药磺,一個(gè)統(tǒng)一的資源管理和調(diào)度平臺(tái)將不可或缺告组。
    另一個(gè)與Mesos和YARN類似的系統(tǒng)是Facebook開源的Hadoop Coroca,具體可參考:“Hadoop Corona介紹”癌佩。
  2. 參考資料
    (1)Mesos論文:Mesos: A Platform for Fine-Grained Resource Sharing in the Data Center. B. Hindman, A. Konwinski, M. Zaharia, A. Ghodsi, A.D. Joseph, R. Katz, S. Shenker and I. Stoica, NSDI 2011, March 2011.
    (2) Mesos官網(wǎng):http://incubator.apache.org/mesos/index.html
    (3)YARN官網(wǎng):http://hadoop.apache.org/common/docs/r0.23.0/index.html
    (4)下一代Apache Hadoop MapReduce框架的架構(gòu):
    http://dongxicheng.org/mapreduce-nextgen/nextgen-mapreduce-introduction/
    原創(chuàng)文章木缝,轉(zhuǎn)載請注明: 轉(zhuǎn)載自董的博客
    本文鏈接地址: http://dongxicheng.org/mapreduce-nextgen/mesos_vs_yarn/

作者:Dong,作者介紹:http://dongxicheng.org/about/
本博客的文章集合:http://dongxicheng.org/recommend/

Hadoop, MapReduce NextGen, Mesos, MRv2, yarn, 下一代MapReduce

評論 (9)
引用通告 (0)

發(fā)表評論


1樓ye
回復(fù)
Post: 2012-06-08 07:21
我瘋了围辙,老大分布式計(jì)算的新技術(shù)層出不窮我碟,剛看完mapreduce源碼又看到spark 現(xiàn)在又是這些 神啊
[回復(fù)]
Dong
回復(fù):六月 8th, 2012 at 下午 11:55

Hadoop,Spark姚建,Storm矫俺,S4,……
[回復(fù)]


ye
回復(fù):六月 21st, 2012 at 上午 8:24

經(jīng)车г看你的博客厘托,以后請多多指教啊
[回復(fù)]


2樓yexiaojiang
回復(fù)
Post: 2012-06-29 08:20
能寫篇介紹下各種分布式計(jì)算框架安裝于同一組機(jī)器的文章嗎?我想把各種框架都自己手動(dòng)安裝一下稿湿!
[回復(fù)]


3樓wangfeng
回復(fù)
Post: 2012-09-27 03:36
每個(gè)架構(gòu)師為了解決一種業(yè)務(wù)問題铅匹,還是大同小異,解決問題的根本思路是一致的饺藤,只是宏觀表現(xiàn)上不同伊群,因?yàn)殛P(guān)注點(diǎn)不同
[回復(fù)]


4樓pinopino
回復(fù)
Post: 2012-10-22 03:15
我是一名.net下的普通程序員, 看過很多你博客上關(guān)于分布式技術(shù)的文章. 讓我很奇怪, 也讓我很納悶的一點(diǎn)就是為嘛.net就沒有這些生機(jī)勃勃的東西呢? 為嘛全都是java的全都是linux的? .net程序員干嘛去了呢?(額…好吧,我在寫該死的CRUD)
[回復(fù)]
domain
回復(fù):十一月 18th, 2013 at 上午 11:26

微軟內(nèi)部是有這樣一套東西的,叫cosmos策精,我只能說舰始,很有特色,主要是用來支撐bing的咽袜,雖然人家確實(shí)不開源吧丸卷,但做的也確實(shí)挺好的。上面的框架式scope询刹,可以關(guān)注一下谜嫉,這個(gè)上面發(fā)的paper很多萎坷。微軟對Hadoop也有貢獻(xiàn)呀,比如說REEF
[回復(fù)]


5樓Dong
回復(fù)
Post: 2012-10-23 01:09
.net是微軟的沐兰, 光憑這個(gè)哆档,就不可能收到開源屆青睞,怎么可能生機(jī)勃勃住闯, .net只能是個(gè)封閉的技術(shù)瓜浸, 永不可能生機(jī)勃勃。以后的發(fā)展趨勢是比原,一個(gè)技術(shù)插佛,走封閉路線,不開源量窘,則不可能流行起來雇寇, 就跟symbian之與andriod一樣
[回復(fù)]
.V
回復(fù):四月 11th, 2013 at 下午 1:12

Microsoft有Dryad (類似MR parallel computing), Daytona (類似迭代MR計(jì)算), Windows Azure (PaaS Clud), .NET Hadoop,開源的分布式引擎和框架都會(huì)支持多種接口的,.NET一樣可以用的,其實(shí)作為一名程序架構(gòu)師,還是應(yīng)該全面了解,各網(wǎng)絡(luò)公司為著自己的業(yè)務(wù)提出各類計(jì)算模型和框架,并不奇怪,并極力開源以獲取更多.
我倒是希望Google能開源更多新的計(jì)算框架和系統(tǒng),類似Pregel, BigQuery, Spanner,省的那幫Google跳出去的人嘰嘰喳喳的參考開發(fā)出這許多Hadoop/MR/Mesos/S4/…
[回復(fù)]


Dong
回復(fù):四月 11th, 2013 at 下午 11:46

這些開源系統(tǒng)的架構(gòu)是google提出來的,但是開源屆做的時(shí)候可能最終將這個(gè)系統(tǒng)做的面目全非了蚌铜,甚至可能google會(huì)反過來借鑒很多開源的idea豐富到自己的系統(tǒng)上锨侯。另外,有些系統(tǒng)并不是google首先提出來的(至少出現(xiàn)前google并沒有透露任何消息)冬殃,比如Hive(09年囚痴,google關(guān)于tenzing、dremel的論文發(fā)表于11和10年)造壮,mesos(這個(gè)就更早了)。隨著開源概念的深入人心骂束,很多新穎的系統(tǒng)會(huì)出現(xiàn)耳璧,這些系統(tǒng),google并不一定有展箱,相反旨枯,google可能會(huì)反過來學(xué)習(xí)。 google當(dāng)初開源的MapReduce混驰,GFS等論文推動(dòng)了開源的飛速發(fā)展攀隔,但一旦發(fā)展到一定程度,各種創(chuàng)造性的系統(tǒng)就會(huì)出現(xiàn)栖榨。畢竟昆汹,開源實(shí)際上是一種“群體智慧”的體現(xiàn),這里的群體是全世界范圍內(nèi)的hacker婴栽。
[回復(fù)]


6樓封神
回復(fù)
Post: 2013-01-08 09:11
其實(shí)都是雙層的满粗,只是粒度的問題。我感覺兩者都差不多愚争,做到最后會(huì)很相似的映皆。
[回復(fù)]


7樓weirorange7
回復(fù)
Post: 2014-03-11 07:42
您好挤聘,本篇文章中在與mesos的對比中說yarn是單層調(diào)度,但是在您的書中捅彻,第161頁說yarn是雙層資源調(diào)度模型组去,正確的應(yīng)該是哪一個(gè)呢?還有就是yarn分配任務(wù)的時(shí)候步淹,是只分配到應(yīng)用程序這一層从隆,還是到具體的任務(wù)呢?謝謝您啦
[回復(fù)]
Dong
回復(fù):三月 11th, 2014 at 上午 9:44

之前理解有誤贤旷,現(xiàn)在已經(jīng)修改了广料,看現(xiàn)在的內(nèi)容。
[回復(fù)]


8樓modeyangg
回復(fù)
Post: 2014-03-17 01:20
您好幼驶,很喜歡您的博客和微信艾杏,看完這篇文章有幾個(gè)問題想請教一下。1. 本文中對于YARN的框架圖里面的Container是做什么用的盅藻?我你文章中寫到Y(jié)ARN的隔離性是進(jìn)程級別购桑,不存在像mesos那樣利用linux container將每個(gè)任務(wù)隔離起來。2. YARN對于容災(zāi)性的處理還能不能詳細(xì)一點(diǎn)介紹氏淑,我看您說的定時(shí)將任務(wù)保存在磁盤勃蜘,那如果宕機(jī)了怎么辦呢? 這點(diǎn)Mesos如果在slave宕機(jī)后假残,F(xiàn)ramework/master就會(huì)監(jiān)聽到slave的狀態(tài)缭贡,將在這個(gè)slave中的任務(wù)重新分配,以保證任務(wù)的成功執(zhí)行辉懒。這兩個(gè)框架對于容災(zāi)性處理優(yōu)劣能分析下嗎阳惹?3. 如你本文中講到,Mesos和YARN在任務(wù)資源分配中存在很大不同眶俩,Mesos是不能夠感知到任務(wù)的資源要求的莹汤,而由Framework內(nèi)部的二次調(diào)度完成,而YARN里面颠印,應(yīng)用程序ApplicationMaster會(huì)把各個(gè)任務(wù)的資源要求匯報(bào)給YARN纲岭,YARN則根據(jù)需要為應(yīng)用程序分配資源。我想問的是线罕,在YARN中如何確定每個(gè)任務(wù)的資源要求呢止潮? 經(jīng)驗(yàn)值還是?可能對于YARN還不怎么了解钞楼,望回復(fù)沽翔,謝謝。
[回復(fù)]
Dong
回復(fù):三月 18th, 2014 at 上午 12:42

  1. Container就是一個(gè)抽象概念,封轉(zhuǎn)了任務(wù)執(zhí)行所需的環(huán)境仅偎、資源等信息跨蟹, 這篇文章比較早了,現(xiàn)在YARN已經(jīng)像Mesos一樣橘沥,提供了cgroups隔離機(jī)制窗轩。2. YARN目前也不太適合運(yùn)行長服務(wù),應(yīng)以像map task或者reduce task這樣的短任務(wù)為主座咆,這主要是因?yàn)閥arn直接從mapreduce過渡來的痢艺,而mesos不同,他先天就考慮到了部署長服務(wù)介陶。 不過yarn正在朝著方面發(fā)展堤舒。3. 用戶提交應(yīng)用程序時(shí),需指定你的task需要的資源量哺呜,這個(gè)值是用戶自己確定的(默認(rèn)值)舌缤,一般是經(jīng)驗(yàn)值,或者估算值某残。目前這方面還難以做到智能推測国撵。
    [回復(fù)]


    modeyangg
    回復(fù):三月 18th, 2014 at 上午 1:45

謝謝回復(fù),正在拜讀您的別的文章玻墅,希望能多多指教介牙。
[回復(fù)]


9樓SelfMedicated
回復(fù)
Post: 2014-06-19 03:22
董大哥,能否把你寫的文章加上一個(gè)文章發(fā)表時(shí)間澳厢,因?yàn)槲恼碌膬?nèi)容(比如“該開源軟件目前還很不穩(wěn)定”)环础,是基于時(shí)間的,當(dāng)然從評論也能粗略看出時(shí)間剩拢,但不準(zhǔn)確….
[回復(fù)]

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末线得,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子裸扶,更是在濱河造成了極大的恐慌框都,老刑警劉巖搬素,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件呵晨,死亡現(xiàn)場離奇詭異,居然都是意外死亡熬尺,警方通過查閱死者的電腦和手機(jī)摸屠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來粱哼,“玉大人季二,你說我怎么就攤上這事。” “怎么了胯舷?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵刻蚯,是天一觀的道長。 經(jīng)常有香客問我桑嘶,道長炊汹,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任逃顶,我火速辦了婚禮讨便,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘以政。我一直安慰自己霸褒,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布盈蛮。 她就那樣靜靜地躺著废菱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪眉反。 梳的紋絲不亂的頭發(fā)上昙啄,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天,我揣著相機(jī)與錄音寸五,去河邊找鬼梳凛。 笑死,一個(gè)胖子當(dāng)著我的面吹牛梳杏,可吹牛的內(nèi)容都是我干的韧拒。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼十性,長吁一口氣:“原來是場噩夢啊……” “哼叛溢!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起劲适,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤楷掉,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后霞势,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體烹植,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年愕贡,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了草雕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 37,997評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡固以,死狀恐怖墩虹,靈堂內(nèi)的尸體忽然破棺而出嘱巾,到底是詐尸還是另有隱情,我是刑警寧澤诫钓,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布旬昭,位于F島的核電站,受9級特大地震影響菌湃,放射性物質(zhì)發(fā)生泄漏稳懒。R本人自食惡果不足惜答捕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一技健、第九天 我趴在偏房一處隱蔽的房頂上張望奕短。 院中可真熱鬧间唉,春花似錦樟遣、人聲如沸之宿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽驰唬。三九已至顶岸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間叫编,已是汗流浹背辖佣。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留搓逾,地道東北人卷谈。 一個(gè)月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像霞篡,于是被迫代替她去往敵國和親世蔗。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評論 2 345

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