一文讀懂 Spring Boot灿里、微服務(wù)架構(gòu)和大數(shù)據(jù)治理三者之間的故事

微服務(wù)架構(gòu)

微服務(wù)的誕生并非偶然云芦,它是在互聯(lián)網(wǎng)高速發(fā)展俯逾,技術(shù)日新月異的變化以及傳統(tǒng)架構(gòu)無法適應(yīng)快速變化等多重因素的推動(dòng)下誕生的產(chǎn)物【艘荩互聯(lián)網(wǎng)時(shí)代的產(chǎn)品通常有兩類特點(diǎn):需求變化快和用戶群體龐大桌肴,在這種情況下,如何從系統(tǒng)架構(gòu)的角度出發(fā)琉历,構(gòu)建靈活坠七、易擴(kuò)展的系統(tǒng),快速應(yīng)對需求的變化旗笔;同時(shí)灼捂,隨著用戶的增加,如何保證系統(tǒng)的可伸縮性换团、高可用性,成為系統(tǒng)架構(gòu)面臨的挑戰(zhàn)宫蛆。

如果還按照以前傳統(tǒng)開發(fā)模式艘包,開發(fā)一個(gè)大型而全的系統(tǒng)已經(jīng)很難滿足市場對技術(shù)的需求,這時(shí)候分而治之的思想被提了出來耀盗,于是我們從單獨(dú)架構(gòu)發(fā)展到分布式架構(gòu)想虎,又從分布式架構(gòu)發(fā)展到 SOA 架構(gòu),服務(wù)不斷的被拆分和分解叛拷,粒度也越來越小舌厨,直到微服務(wù)架構(gòu)的誕生。

微服務(wù)架構(gòu)是 SOA 架構(gòu)的傳承忿薇,但一個(gè)最本質(zhì)的區(qū)別就在于微服務(wù)是真正的分布式的裙椭、去中心化的躏哩。把所有的“思考”邏輯包括路由、消息解析等放在服務(wù)內(nèi)部揉燃,去掉一個(gè)大一統(tǒng)的 ESB扫尺,服務(wù)間輕通信,是比 SOA 更徹底的拆分炊汤。微服務(wù)架構(gòu)強(qiáng)調(diào)的重點(diǎn)是業(yè)務(wù)系統(tǒng)需要徹底的組件化和服務(wù)化正驻,原有的單個(gè)業(yè)務(wù)系統(tǒng)會(huì)拆分為多個(gè)可以獨(dú)立開發(fā),設(shè)計(jì)抢腐,運(yùn)行和運(yùn)維的小應(yīng)用姑曙,這些小應(yīng)用之間通過服務(wù)完成交互和集成。

大約 2009 年開始迈倍,Netflix 完全重新定義了它的應(yīng)用程序開發(fā)和操作模型伤靠,拉開了微服務(wù)探索的第一步,直到2014年3月 Martin Fowler 寫的一篇文章?Microservices?以更加通俗易懂的形式為大家定義了什么是微服務(wù)架構(gòu)授瘦。Martin Fowler 在文中闡述了對微服務(wù)架構(gòu)的設(shè)想韧骗,認(rèn)為微服務(wù)架構(gòu)是一種架構(gòu)模式,它提倡將單一應(yīng)用程序劃分成一組小的服務(wù)叨吮,服務(wù)之間互相協(xié)調(diào)薇缅、互相配合,為用戶提供最終價(jià)值徒欣。

每個(gè)服務(wù)運(yùn)行在其獨(dú)立的進(jìn)程中逐样,服務(wù)和服務(wù)間采用輕量級(jí)的通信機(jī)制互相溝通(通常是基于 HTTP 的 RESTful API)。每個(gè)服務(wù)都圍繞著具體業(yè)務(wù)進(jìn)行構(gòu)建打肝,并且能夠被獨(dú)立地部署到生產(chǎn)環(huán)境脂新、類生產(chǎn)環(huán)境等。另外粗梭,應(yīng)盡量避免統(tǒng)一的争便、集中式的服務(wù)管理機(jī)制,對具體的一個(gè)服務(wù)而言断医,應(yīng)根據(jù)業(yè)務(wù)上下文滞乙,選擇合適的語言、工具對其進(jìn)行構(gòu)建鉴嗤。

微服務(wù)架構(gòu)和數(shù)據(jù)治理

隨著微服務(wù)架構(gòu)的落地斩启,人們發(fā)現(xiàn)微服務(wù)架構(gòu)雖然改進(jìn)了開發(fā)模式,但同時(shí)也引入了一些問題醉锅,在這所有的問題中兔簇,最重要的也是馬上要面臨的一個(gè)問題就是數(shù)據(jù)的問題。在微服務(wù)架構(gòu)中我們強(qiáng)調(diào)徹底的組件化和服務(wù)化,每個(gè)微服務(wù)都可以獨(dú)立的部署和投產(chǎn)垄琐,其實(shí)也就意味著很多的微服務(wù)有自己獨(dú)立的數(shù)據(jù)庫边酒。

整個(gè)業(yè)務(wù)數(shù)據(jù)被分散在各個(gè)子服務(wù)之后會(huì)帶來兩個(gè)最明顯的問題:1、業(yè)務(wù)管理系統(tǒng)對數(shù)據(jù)完整的查詢此虑,比如分頁查詢甚纲、多條件查詢等,數(shù)據(jù)被割裂后如何來整合朦前?2介杆、如何對數(shù)據(jù)進(jìn)一步的分析挖掘?這些需求可能需要分析全量的數(shù)據(jù)韭寸,并且在分析時(shí)不能影響到當(dāng)前業(yè)務(wù)春哨。

從技術(shù)方案來講,我們一般有兩種選擇來處理這些問題恩伺,第一種是在線處理數(shù)據(jù)赴背,第二種是離線處理數(shù)據(jù)。

在線處理數(shù)據(jù)的方案就是按照微服務(wù)的標(biāo)準(zhǔn)接口來進(jìn)行晶渠,后端需要哪個(gè)系統(tǒng)的數(shù)據(jù)就去調(diào)用某個(gè)微服務(wù)提供的接口來獲取凰荚。后端管理平臺(tái)根據(jù)前端的需求去不同的微服務(wù)系統(tǒng)去獲取數(shù)據(jù),然后將返回的數(shù)據(jù)進(jìn)行處理后將數(shù)據(jù)返回褒脯。這種方案有兩個(gè)弊端:1)一方面微服務(wù)數(shù)據(jù)方需要提供數(shù)據(jù)接口便瑟,一方面數(shù)據(jù)的使用者需要去寫調(diào)用方法,并且調(diào)用者需要編寫大量的代碼進(jìn)行數(shù)據(jù)處理番川;2)在對各個(gè)微服務(wù)進(jìn)行調(diào)取數(shù)據(jù)時(shí)會(huì)影響微服務(wù)的正常業(yè)務(wù)處理性能到涂。

離線處理數(shù)據(jù)方案,就是將業(yè)務(wù)數(shù)據(jù)準(zhǔn)實(shí)時(shí)的同步到另外一個(gè)數(shù)據(jù)庫中颁督,在同步的過程中進(jìn)行數(shù)據(jù)整合處理践啄,以滿足業(yè)務(wù)方對數(shù)據(jù)的需求,數(shù)據(jù)同步過來后沉御,再提供另外一個(gè)服務(wù)接口專業(yè)負(fù)責(zé)對外輸出數(shù)據(jù)信息屿讽。這種方案有兩個(gè)特點(diǎn):1)數(shù)據(jù)同步方案是關(guān)鍵,技術(shù)選型有很多吠裆,如何選擇切合公司業(yè)務(wù)的技術(shù)方案伐谈;2)離線數(shù)據(jù)處理對微服務(wù)正常業(yè)務(wù)處理沒有影響。

在我以往的工作中兩種方案都實(shí)施過硫痰,個(gè)人更傾向于使用第二種方案。

MongDB 和數(shù)據(jù)分析

MongoDB 稱之為對開發(fā)人員最友好的數(shù)據(jù)庫窜护,不再強(qiáng)調(diào)傳統(tǒng)關(guān)系數(shù)據(jù)庫中的行和列效斑,整個(gè)表可以看作一個(gè) Json 文檔,MongoDB 也被認(rèn)為在 Nosql 中最像關(guān)系數(shù)據(jù)庫的 Nosql 數(shù)據(jù)庫柱徙,保留了類似關(guān)系數(shù)據(jù)庫的數(shù)據(jù)庫(DataBase)缓屠、集合(Collection)奇昙、文檔對象(Document)。

MongoDB 是目前最熱門非關(guān)系數(shù)據(jù)庫的之一敌完,在最新的數(shù)據(jù)庫排行榜中 MongoDB 排名第五储耐,在所有的非關(guān)系數(shù)據(jù)庫中排名第一,非常廣泛的應(yīng)用于國內(nèi)外的互聯(lián)網(wǎng)公司滨溉。

MongoDB 最大的特點(diǎn)是支持的查詢語言非常強(qiáng)大什湘,其語法有點(diǎn)類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能晦攒,而且還支持對數(shù)據(jù)建立索引闽撤。MongoDB 在高可用和讀寫負(fù)載均衡上的實(shí)現(xiàn)非常簡潔和友好,MongoDB 自帶了副本集的概念脯颜,通過設(shè)計(jì)恰當(dāng)?shù)母北炯万?qū)動(dòng)程序哟旗,可以非常便地實(shí)現(xiàn)高可用、讀寫負(fù)載均衡栋操。

MongoDB 的這些特性非常方便對數(shù)據(jù)進(jìn)行高性能查詢闸餐,MongoDB 支持 Aggregate 和 Mapreduce 利用分而治之的理念來處理大規(guī)模數(shù)據(jù)分析。Spring Boot 對 MongoDB 的支持非常友好矾芙,使用 Spring Boot 非常便利的處理對 MongoDB 查詢和操作舍沙,Spring Boot 也提供了組件包來支持對 MongoDB的使用。

MongoDB 4.0 宣布將正式支持 ACID 事務(wù)蠕啄,未來 MongoDB 的想象空間更加巨大场勤!因此 MongDB + Spring Boot 是微服務(wù)架構(gòu)中數(shù)據(jù)分析的理想選擇之一。

再來聊聊 Spring Boot

Spring Boot 是由 Pivotal 團(tuán)隊(duì)提供的全新框架歼跟,其設(shè)計(jì)目的是用來簡化新 Spring 應(yīng)用的初始搭建以及開發(fā)過程和媳。該框架使用了特定的方式來進(jìn)行配置,從而使開發(fā)人員不再需要定義樣板化的配置哈街。采用 Spring Boot 可以大大的簡化開發(fā)模式留瞳,所有你想集成的常用框架,它都有對應(yīng)的組件支持骚秦。

Spring Boot 基于 Spring 開發(fā)她倘,Spring Boot 本身并不提供 Spring 框架的核心特性以及擴(kuò)展功能,只是用于快速作箍、敏捷地開發(fā)新一代基于 Spring 框架的應(yīng)用程序硬梁。也就是說,它并不是用來替代 Spring 的解決方案胞得,而是和 Spring 框架緊密結(jié)合用于提升 Spring 開發(fā)者體驗(yàn)的工具荧止。同時(shí)它集成了大量常用的第三方庫配置(例如 Redis、MongoDB、Jpa跃巡、RabbitMQ危号、Quartz 等等),Spring Boot 應(yīng)用中這些第三方庫幾乎可以零配置的開箱即用素邪,大部分的 Spring Boot 應(yīng)用都只需要非常少量的配置代碼外莲,開發(fā)者能夠更加專注于業(yè)務(wù)邏輯。

Spring Boot 一經(jīng)推出就受到開源社區(qū)的追捧兔朦,Spring Boot 官方提供了很多 Starters 方便集成第三方產(chǎn)品偷线,很多主流的框架也紛紛進(jìn)行了主動(dòng)的集成,比如 Mybatis烘绽。Spring 官方非常重視 Spring Boot 的發(fā)展淋昭,在 Spring 官網(wǎng)首頁進(jìn)行重點(diǎn)推薦介紹,是目前 Spring 官方重點(diǎn)發(fā)展的項(xiàng)目之一安接。

?

Spring Boot 本身發(fā)展特別快翔忽,自從 2014 年 4 月發(fā)布 Spring Boot 1.0 之后,版本更新非常頻繁盏檐,我在 2016 年使用的時(shí)候是 1.3.X歇式,到現(xiàn)在 Spring Boot 已經(jīng)發(fā)布了 Spring Boot 2.0,Spring Boot 2.0 集成了很多最新優(yōu)秀的技術(shù)和新特性胡野,并且對 Spring Boot 1.0 的 API 進(jìn)行了大幅優(yōu)化材失。Spring Boot 一經(jīng)推出就迅速的成為一門熱門的技術(shù),從下圖也可以看出這個(gè)結(jié)論:

?

上圖為2014年到2018年 Spring Boot 的百度指數(shù)硫豆,可以看出 Spring Boot 2.0 的推出引發(fā)了搜索高峰龙巨。

Spring Boot 和 微服務(wù)架構(gòu)

隨著 Spring 不斷的發(fā)展,涉及的領(lǐng)域越來越多熊响,項(xiàng)目整合開發(fā)需要配合各種各樣的文件旨别,慢慢變得不那么易用簡單,違背了最初的理念汗茄,甚至人稱配置地獄秸弛。Spring Boot 正是在這樣的一個(gè)背景下被抽象出來的開發(fā)框架,目的為了讓大家更容易的使用 Spring 洪碳、更容易的集成各種常用的中間件递览、開源軟件;另一方面瞳腌,Spring Boot 誕生時(shí)绞铃,正處于微服務(wù)概念在慢慢醞釀中,Spring Boot 的研發(fā)融合了微服務(wù)架構(gòu)的理念嫂侍,實(shí)現(xiàn)了在 Java 領(lǐng)域內(nèi)微服務(wù)架構(gòu)落地的技術(shù)支撐儿捧。

Spring Boot 作為一套全新的框架冷离,來源于 Spring 大家族,因此 Spring 所有具備的功能它都有纯命,而且更容易使用;Spring Boot 以約定大于配置的核心思想痹栖,默認(rèn)幫我們進(jìn)行了很多設(shè)置亿汞,多數(shù) Spring Boot 應(yīng)用只需要很少的 Spring 配置。Spring Boot 開發(fā)了很多的應(yīng)用集成包揪阿,支持絕大多數(shù)開源軟件疗我,讓我們以很低的成本去集成其他主流開源軟件。

Spring Boot 特性:

使用 Spring 項(xiàng)目引導(dǎo)頁面可以在幾秒構(gòu)建一個(gè)項(xiàng)目

方便對外輸出各種形式的服務(wù)南捂,如 REST API吴裤、WebSocket、Web溺健、Streaming麦牺、Tasks

非常簡潔的安全策略集成

支持關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫

支持運(yùn)行期內(nèi)嵌容器,如 Tomcat鞭缭、Jetty

強(qiáng)大的開發(fā)包剖膳,支持熱啟動(dòng)

自動(dòng)管理依賴

自帶應(yīng)用監(jiān)控

支持各種 IED,如 IntelliJ IDEA 岭辣、NetBeans

Spring Boot 的這些特性非常方便吱晒、快速構(gòu)建獨(dú)立的微服務(wù)。所以我們使用 Spring Boot 開發(fā)項(xiàng)目沦童,會(huì)給我們傳統(tǒng)開發(fā)帶來非常大的便利度仑濒,可以說如果你使用過 Spring Boot 開發(fā)過項(xiàng)目,就不會(huì)再愿意以以前的方式去開發(fā)項(xiàng)目了偷遗。

總結(jié)一下墩瞳,使用 Spring Boot 至少可以給我們帶來以下幾方面的改進(jìn):

Spring Boot 使編碼變簡單,Spring Boot 提供了豐富的解決方案鹦肿,快速集成各種解決方案提升開發(fā)效率矗烛。

Spring Boot 使配置變簡單,Spring Boot 提供了豐富的 Starters箩溃,集成主流開源產(chǎn)品往往只需要簡單的配置即可瞭吃。

Spring Boot 使部署變簡單,Spring Boot 本身內(nèi)嵌啟動(dòng)容器涣旨,僅僅需要一個(gè)命令即可啟動(dòng)項(xiàng)目歪架,結(jié)合 Jenkins 、Docker 自動(dòng)化運(yùn)維非常容易實(shí)現(xiàn)霹陡。

Spring Boot 使監(jiān)控變簡單和蚪,Spring Boot 自帶監(jiān)控組件止状,使用 Actuator 輕松監(jiān)控服務(wù)各項(xiàng)狀態(tài)。

總結(jié)攒霹,Spring Boot 是 Java 領(lǐng)域最優(yōu)秀的微服務(wù)架構(gòu)落地技術(shù)怯疤,沒有之一。

三者之間的糾葛

了解完微服務(wù)架構(gòu)催束、Spring Boot集峦、大數(shù)據(jù)治理之后,我們就發(fā)現(xiàn)這樣一個(gè)有趣的事情:微服務(wù)架構(gòu)是一種架構(gòu)思想抠刺,是架構(gòu)不斷發(fā)展的必然結(jié)果塔淤,具有構(gòu)建靈活、易擴(kuò)展速妖、快速應(yīng)用高蜂、可伸縮性、高可用等特點(diǎn)罕容;微服務(wù)架構(gòu)思想的推出對技術(shù)有了更高的要求备恤,在這樣的背景下 Spring Boot 孕育而生,Spring Boot 出生名門锦秒,從一開始就站在一個(gè)比較高的起點(diǎn)烘跺,又經(jīng)過這幾年的發(fā)展,生態(tài)足夠完善脂崔,Spring Boot 已經(jīng)當(dāng)之無愧成為 Java 領(lǐng)域最熱門的技術(shù)滤淳。

微服務(wù)架構(gòu)下,數(shù)據(jù)被分隔到 N 個(gè)獨(dú)立的微服務(wù)中砌左,如何應(yīng)對市場脖咐、業(yè)務(wù)對大量數(shù)據(jù)的查詢、分析就變的非常急迫汇歹,利用 Spring Boot 和 MongoDB 可以輕松的解決這個(gè)問題屁擅,通過技術(shù)手段將分裂到 N 個(gè)微服務(wù)的數(shù)據(jù)同步到 MongoDB 集群中,在同步的過程中進(jìn)行數(shù)據(jù)清洗产弹,來滿足公司的各項(xiàng)業(yè)務(wù)需求派歌。Spring Boot 對 MongoDB 的支持非常友好,一方面 Spring Data 技術(shù)預(yù)生成很多常用方法便于使用痰哨,另一方面 Spring Boot 封裝了分布式計(jì)算的相關(guān)函數(shù)胶果,可以讓我們以較簡潔的方式來實(shí)現(xiàn)統(tǒng)計(jì)查詢。

Spring Boot 是 Java 領(lǐng)域微服務(wù)架構(gòu)最優(yōu)落地技術(shù)斤斧,Spring Boot+MongoDB 方案是在微服務(wù)架構(gòu)下數(shù)據(jù)治理的最佳方案之一早抠。

當(dāng)然如果我們對微服務(wù)架構(gòu)、Spring Boot 撬讽、MongoDB 不熟悉的話蕊连,可能需要走很多的彎路悬垃。錯(cuò)誤的技術(shù)方案會(huì)對后期的微服務(wù)落地帶來非常大的困擾,增加額外的開發(fā)工作量甘苍,我自己深有體會(huì)尝蠕,合適的技術(shù)方案可以節(jié)省60%以上的工作量。

歡迎工作一到五年的Java工程師朋友們加入Java程序員開發(fā): 854393687

群內(nèi)提供免費(fèi)的Java架構(gòu)學(xué)習(xí)資料(里面有高可用载庭、高并發(fā)趟佃、高性能及分布式、Jvm性能調(diào)優(yōu)昧捷、Spring源碼,MyBatis罐寨,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個(gè)知識(shí)點(diǎn)的架構(gòu)資料)合理利用自己每一分每一秒的時(shí)間來學(xué)習(xí)提升自己靡挥,不要再用"沒有時(shí)間“來掩飾自己思想上的懶惰!趁年輕鸯绿,使勁拼跋破,給未來的自己一個(gè)交代!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末瓶蝴,一起剝皮案震驚了整個(gè)濱河市毒返,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌舷手,老刑警劉巖拧簸,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異男窟,居然都是意外死亡盆赤,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進(jìn)店門歉眷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來牺六,“玉大人,你說我怎么就攤上這事汗捡∈缂剩” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵扇住,是天一觀的道長春缕。 經(jīng)常有香客問我,道長艘蹋,這世上最難降的妖魔是什么淡溯? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮簿训,結(jié)果婚禮上咱娶,老公的妹妹穿的比我還像新娘米间。我一直安慰自己,他們只是感情好膘侮,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布屈糊。 她就那樣靜靜地躺著,像睡著了一般琼了。 火紅的嫁衣襯著肌膚如雪逻锐。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天雕薪,我揣著相機(jī)與錄音昧诱,去河邊找鬼。 笑死所袁,一個(gè)胖子當(dāng)著我的面吹牛盏档,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播燥爷,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼蜈亩,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了前翎?” 一聲冷哼從身側(cè)響起稚配,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎港华,沒想到半個(gè)月后道川,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡立宜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年愤惰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赘理。...
    茶點(diǎn)故事閱讀 38,161評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡宦言,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出商模,到底是詐尸還是另有隱情奠旺,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布施流,位于F島的核電站响疚,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏瞪醋。R本人自食惡果不足惜忿晕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望银受。 院中可真熱鬧践盼,春花似錦鸦采、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至肄程,卻和暖如春锣吼,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蓝厌。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工玄叠, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人拓提。 一個(gè)月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓读恃,卻偏偏與公主長得像,于是被迫代替她去往敵國和親崎苗。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評論 2 344

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