架構(gòu)師的初級(jí)技能,選組件4ゲ恕(2020更新版)

本篇內(nèi)容涵蓋14個(gè)方面九榔,涉及上百個(gè)框架和工具。會(huì)有你喜歡的玫氢,大概也會(huì)有你所討厭的家伙帚屉。這是我平常工作中打交道最多的工具,大小公司都適用漾峡。如果你有更好的攻旦,歡迎留言補(bǔ)充。

一生逸、消息隊(duì)列二牢屋、緩存三、分庫(kù)分表四槽袄、數(shù)據(jù)同步五烙无、通訊六、微服務(wù)七遍尺、分布式工具八截酷、監(jiān)控系統(tǒng)九、調(diào)度十乾戏、入口工具十一迂苛、OLT(A)P十二、CI/CD十三鼓择、問題排查十四三幻、本地工具

10年架構(gòu)師領(lǐng)你架構(gòu)-成長(zhǎng)之路-(附面試題(含答案))

(騰訊T3-T4)打造互聯(lián)網(wǎng)PHP架構(gòu)師教程目錄大全,只要你看完呐能,薪資立馬提升2倍(持續(xù)更新)

原文鏈接:juejin.im

點(diǎn)擊與我交流企鵝群

一念搬、消息隊(duì)列

  • √ 推薦:(1) 吞吐量?jī)?yōu)先選擇kafka

  • (2) 穩(wěn)定性優(yōu)先選擇RocketMQ

  • (3) 物聯(lián)網(wǎng):VerneMQ

[圖片上傳失敗...(image-8a8c88-1600265599787)]

一個(gè)大型的分布式系統(tǒng),通常都會(huì)異步化,走消息總線朗徊。 消息隊(duì)列作為最主要的基礎(chǔ)組件首妖,在整個(gè)體系架構(gòu)中,有著及其重要的作用爷恳。異步通常意味著編程模型的改變悯搔,時(shí)效性會(huì)降低。

  • kafka是目前最常用的消息隊(duì)列舌仍,尤其是在大數(shù)據(jù)方面,有著極高的吞吐量通危。而rocketmq和rabbitmq铸豁,都是電信級(jí)別的消息隊(duì)列,在業(yè)務(wù)上用的比較多菊碟。相比較而言节芥,ActiveMQ使用的最少,屬于較老一代的消息框架逆害。

  • pulsar是為了解決一些kafka上的問題而誕生的消息系統(tǒng)头镊,比較年輕,工具鏈有限魄幕。有些激進(jìn)的團(tuán)隊(duì)經(jīng)過試用相艇,反響不錯(cuò),但實(shí)際使用并不多纯陨。

  • mqtt具體來說是一種協(xié)議坛芽,主要用在物聯(lián)網(wǎng)方面,能夠雙向通信翼抠,屬于消息隊(duì)列范疇咙轩,推薦使用vernemq。

二阴颖、緩存

  • √ 推薦:(1) 堆內(nèi)緩存使用默認(rèn)的caffeine

  • (2) 分布式緩存采用redis的cluster集群模式活喊,但要注意使用限制

[圖片上傳失敗...(image-fe54d-1600265599787)]

數(shù)據(jù)緩存是減少數(shù)據(jù)庫(kù)壓力的有效途徑,有單機(jī)java內(nèi)緩存量愧,和分布式緩存之分钾菊。

  • 對(duì)于單機(jī)來說,guava的LoadingCache和ehcache都是些熟面孔侠畔,不過SpringBoot選擇了caffeine作為它的默認(rèn)堆內(nèi)緩存结缚,這是因?yàn)閏affeine的速度比較快的原因。

  • 對(duì)于分布式緩存來說软棺,優(yōu)先選擇的就是redis红竭,別猶豫。由于redis是單線程的(6.0支持多線程,但默認(rèn)不開啟)茵宪,并不適合高耗時(shí)操作最冰。所以對(duì)于一些數(shù)據(jù)量比較大的緩存,比如圖片稀火、視頻等暖哨,使用老牌的memcached效果會(huì)好的多。

  • JetCache是一個(gè)基于Java的緩存系統(tǒng)封裝凰狞,提供統(tǒng)一的api和注解來簡(jiǎn)化緩存的使用篇裁。類似SpringCache,支持本地緩存和分布式緩存赡若,也是簡(jiǎn)化開發(fā)的利器达布。

三、分庫(kù)分表

  • √ 推薦:shardingsphere中的sharding-jdbc

[圖片上傳失敗...(image-b1f2b6-1600265599787)]

  • 分庫(kù)分表逾冬,幾乎每一個(gè)上點(diǎn)規(guī)模的公司黍聂,都會(huì)有自己的方案。目前身腻,推薦使用驅(qū)動(dòng)層的sharding-jdbc(已經(jīng)進(jìn)入apache)产还,或者代理層的mycat。如果你沒有額外的運(yùn)維團(tuán)隊(duì)嘀趟,又不想花錢買其他機(jī)器脐区,那么就選前者。

  • 如果分庫(kù)分表涉及的項(xiàng)目不多她按,spring的動(dòng)態(tài)數(shù)據(jù)源是一個(gè)非常好的選擇坡椒。它直接編碼在代碼里,直觀但不易擴(kuò)展尤溜。

如果只需要讀寫分離 倔叼,那么mysql官方驅(qū)動(dòng)里的replication協(xié)議,是更加輕量級(jí)的選擇宫莱。 上面的分庫(kù)分表組件丈攒,都是大浪淘沙,最終的優(yōu)勝品授霸。這些組件不同于其他組件選型巡验,方案一旦確定,幾乎無法回退碘耳,所以要慎之又慎显设。 分庫(kù)分表是小case,準(zhǔn)備分庫(kù)分表的階段辛辨,才是重點(diǎn):也就是數(shù)據(jù)同步捕捂。

四瑟枫、數(shù)據(jù)同步

[圖片上傳失敗...(image-34e2e-1600265599787)]

國(guó)內(nèi)使用mysql的公司居多,但postgresql憑借其優(yōu)異的性能指攒,使用率逐漸攀升慷妙。 不管什么數(shù)據(jù)庫(kù),實(shí)時(shí)數(shù)據(jù)同步工具允悦,都是把自己模擬成一個(gè)從庫(kù)膝擂,進(jìn)行數(shù)據(jù)拉取和解析。 具體來說隙弛,mysql是通過binlog進(jìn)行同步架馋;postgresql使用wal日志進(jìn)行同步。

  • 對(duì)mysql來說全闷,canal是國(guó)內(nèi)用的最多的方案绩蜻;類似的databus也是比較好用的工具。

  • 現(xiàn)在室埋,canal、maxwell等工具伊约,都支持將要同步的數(shù)據(jù)寫入到mq中姚淆,進(jìn)行后續(xù)處理,方便了很多屡律。

  • 對(duì)于ETL(抽取腌逢、清洗、轉(zhuǎn)換)來說超埋,基本上都是source搏讶、task、sink路線霍殴,與前面的功能對(duì)應(yīng)媒惕。gobblin、datax来庭、logstash妒蔚、sqoop等,都是這樣的工具月弛。

  • 它們的主要工作肴盏,就是怎么方便的定義配置文件,編寫各種各樣的數(shù)據(jù)源適配接口等帽衙。這些ETL工具菜皂,也可以作為數(shù)據(jù)同步(尤其是全量同步)的工具,通常是根據(jù)ID厉萝,或者最后更新時(shí)間 等恍飘,進(jìn)行處理榨崩。

  • binlog是實(shí)時(shí)增量工具,ETL工具做輔助常侣。通常一個(gè)數(shù)據(jù)同步功能蜡饵,需要多個(gè)組件的參與,他們共同組成一個(gè)整體胳施。

五溯祸、通訊

  • √ 推薦:http+json,方便調(diào)試舞肆。高性能要求可選二進(jìn)制協(xié)議

[圖片上傳失敗...(image-cf0715-1600265599786)]

Java 中焦辅,netty已經(jīng)成為當(dāng)之無愧的網(wǎng)絡(luò)開發(fā)框架,包括其上的socketio(不要再和我提mina了)椿胯。對(duì)于http協(xié)議筷登,有common-httpclient,以及更加輕量級(jí)的工具okhttp來支持哩盲。

  • 對(duì)于一個(gè)rpc來說前方,要約定一個(gè)通訊方式和序列化方式。json是最常用的序列化方式廉油,但是傳輸和解析成本大惠险,xml等文本協(xié)議與其類似,都有很多冗余的信息抒线;avro和kryo是二進(jìn)制的序列化工具班巩,沒有這些缺點(diǎn),但調(diào)試不便嘶炭。

  • rpc是遠(yuǎn)程過程調(diào)用的意思 抱慌,其中,thrift眨猎、dubbo抑进、gRPC默認(rèn)都是二進(jìn)制序列化方式的socket通訊框架;feign睡陪、hessian都是onhttp的遠(yuǎn)程調(diào)用框架单匣。

  • 對(duì)了,gRPC的序列化工具是protobuf宝穗,一個(gè)壓縮比很高的二進(jìn)制序列化工具户秤。

通常,服務(wù)的響應(yīng)時(shí)間主要耗費(fèi)在業(yè)務(wù)邏輯以及數(shù)據(jù)庫(kù)上逮矛,通訊層耗時(shí)在其中的占比很小鸡号。可以根據(jù)自己公司的研發(fā)水平和業(yè)務(wù)規(guī)模來選擇须鼎。

感謝大家一直來支持鲸伴,這是我準(zhǔn)備的1000粉絲福利

【1000粉絲福利】10年架構(gòu)師分享PHP進(jìn)階架構(gòu)資料府蔗,助力大家都能30K

六、微服務(wù)

  • √ 推薦:(1) 注冊(cè)中心:consul

  • (2)網(wǎng)關(guān):nginx+Gateway

  • (3)配置中心:Apollo

  • (4)調(diào)用鏈:Skywalking

  • (5)熔斷:resilience4j

[圖片上傳失敗...(image-b88829-1600265599786)]

我們不止一次說到微服務(wù)汞窗,這一次我們從圍繞它的一堆支持框架姓赤,來窺探一下這個(gè)體系。是的仲吏,這里依然是在說spring cloud不铆。

  • 默認(rèn)的注冊(cè)中心eureka不再維護(hù),consul已經(jīng)成為首選裹唆,它使用raft協(xié)議開發(fā)開箱即用誓斥。nacos、zookeeper等许帐,都可以作為備選方案劳坑。其中nacos帶有后臺(tái),比較適合國(guó)人使用習(xí)慣成畦。

  • 熔斷組件距芬,官方的hystrix也已經(jīng)不維護(hù)了。推薦使用resilience4j循帐,最近阿里的sentinel也表現(xiàn)強(qiáng)勁框仔。

  • 對(duì)于調(diào)用鏈來說,由于OpenTracing的興起惧浴,有了很多新的面孔。推薦使用jaeger或者skywalking奕剃。spring cloud集成的sleuth+zipkin功能稍弱衷旅,甚至不如傳統(tǒng)侵入式的cat。

  • 配置中心是管理多環(huán)境配置文件的利器纵朋,尤其在你不想重啟服務(wù)器的情況下進(jìn)行配置更新柿顶。

  • 目前,開源中做的最好的要數(shù)apollo操软,并提供了對(duì)spring boot的支持嘁锯。disconf使用也較為廣泛。相對(duì)來說聂薪,spring cloud config功能就局限了些家乘,用的很少。


網(wǎng)關(guān)方面藏澳,使用最多的就是nginx仁锯,在nginx之上,有基于lua腳本的openrestry翔悠。由于openresty的使用非常繁雜业崖,所以有了kong這種封裝級(jí)別更高的網(wǎng)關(guān)野芒。 對(duì)于spring cloud來說,zuul系列推薦使用zuul2双炕,zuul1是多線程阻塞的狞悲,有硬傷。spring-cloud-gateway是spring cloud親生的妇斤,Spring Cloud 大力支持摇锋,基于 Spring5.0 的新特性 WebFlux 進(jìn)行開發(fā)。底層網(wǎng)絡(luò)通信框架采用的是 Netty趟济,吞吐量高乱投。

七、分布式工具

[圖片上傳失敗...(image-fbdaef-1600265599786)]

大家都知道分布式系統(tǒng)zookeeper能用在很多場(chǎng)景顷编,與其類似的還有基于raft協(xié)議的etcd和consul戚炫。

  • 由于它們能夠保證極高的一致性,所以用作協(xié)調(diào)工具是再好不過了媳纬。用途集中在:配置中心双肤、分布式鎖、命名服務(wù)钮惠、分布式協(xié)調(diào)茅糜、master選舉等場(chǎng)所。

  • 對(duì)于分布式事務(wù)方面素挽,則有阿里的fescar工具進(jìn)行支持蔑赘。但如非特別的必要,還是使用柔性事務(wù)预明,追尋最終一致性缩赛,比較好。

八撰糠、監(jiān)控系統(tǒng)

  • √ 推薦:prometheus + grafana + telegraf

  • 日志收集:大量ELKB酥馍,小量loki

[圖片上傳失敗...(image-a95f98-1600265599786)]

監(jiān)控系統(tǒng)組件種類繁多,目前阅酪,最流行的大概就是上面四類旨袒。 zabbix在主機(jī)數(shù)量不多的情況下,是非常好的選擇术辐。 prometheus來勢(shì)兇猛砚尽,大有一統(tǒng)天下的架勢(shì)。它也可以使用更加漂亮的grafana進(jìn)行前端展示辉词。 influxdata的influxdb和telegraf組件尉辑,都比較好用,主要是功能很全较屿。 使用es存儲(chǔ)的elkb工具鏈隧魄,也是一個(gè)較好的選擇卓练。我所知道的很多公司,都在用购啄。

九襟企、調(diào)度

[圖片上傳失敗...(image-ccdede-1600265599786)]

大家可能都用過cron表達(dá)式。這個(gè)表達(dá)式狮含,最初就是來自linux的crontab工具顽悼。 quartz是java中比較古老的調(diào)度方案,分布式調(diào)度采用數(shù)據(jù)庫(kù)鎖的方式几迄,管理界面需要自行開發(fā)蔚龙。 elastic-job-cloud應(yīng)用比較廣泛,但系統(tǒng)運(yùn)維復(fù)雜映胁,學(xué)習(xí)成本較高木羹。相對(duì)來說,xxl-job就更加輕量級(jí)一些解孙。中國(guó)人開發(fā)的系統(tǒng)坑填,后臺(tái)都比較漂亮。

十弛姜、入口工具

[圖片上傳失敗...(image-3308b3-1600265599786)]

為了統(tǒng)一用戶的訪問路口脐瑰,一般會(huì)使用一些入口工具進(jìn)行支持。

其中廷臼,haproxy苍在、lvs、keepalived等荠商,使用非常廣泛寂恬。

服務(wù)器一般采用穩(wěn)定性較好的centos,并配備ansible工具進(jìn)行支持结啼,那叫一個(gè)爽掠剑。

十一屈芜、OLT(A)P

[圖片上傳失敗...(image-87e7b8-1600265599786)]

  • 現(xiàn)在的企業(yè)郊愧,數(shù)據(jù)量都非常大,數(shù)據(jù)倉(cāng)庫(kù)是必須的井佑。

搜索方面属铁,solr和elasticsearch比較流行,它們都是基于lucene的躬翁。solr比較成熟焦蘑,穩(wěn)定性更好一些,但實(shí)時(shí)搜索方面不如es盒发。 列式存儲(chǔ)方面例嘱,基于Hadoop 的hbase狡逢,使用最是廣泛;基于LSM的leveldb寫入性能優(yōu)越拼卵,但目前主要是作為嵌入式引擎使用多一些奢浑。 tidb是國(guó)產(chǎn)新貴,兼容mysql協(xié)議腋腮,公司通過培訓(xùn)向外輸出dba雀彼,未來可期。 時(shí)序數(shù)據(jù)庫(kù)方面即寡,opentsdb用在超大型監(jiān)控系統(tǒng)多一些徊哑。druid和kudu,在處理多維度數(shù)據(jù)實(shí)時(shí)聚合方面聪富,更勝一籌莺丑。 cassandra在剛出現(xiàn)時(shí)火了一段時(shí)間,雖然有facebook棄用的新聞善涨,但生態(tài)已經(jīng)形成窒盐,常年霸占數(shù)據(jù)庫(kù)引擎前15名。

十二钢拧、CI/CD

[圖片上傳失敗...(image-635846-1600265599786)]

為了支持持續(xù)集成和虛擬化蟹漓,除了耳熟能詳?shù)膁ocker,我們還有其他工具源内。

  • jenkins是打包發(fā)布的首選葡粒,畢竟這么多年了,一直是老大哥膜钓。當(dāng)然嗽交,寫Idea的那家公司,還出了一個(gè)叫TeamCity的工具颂斜,操作界面非常流暢夫壁。

  • solor不得不說是一個(gè)神器,用了它之后沃疮,小伙伴們的代碼一片飄紅盒让,我都快被吐沫星子給淹沒了。

  • 對(duì)于公司內(nèi)部來說司蔬,一般使用gitlab搭建git服務(wù)器邑茄。其實(shí),它里面的gitlab CI俊啼,也是非常好用的肺缕。

  • Harbor,在 docker registry 基礎(chǔ)上擴(kuò)展了權(quán)限控制,審計(jì)同木,鏡像同步浮梢,管理界面等治理 能力,推薦使用彤路。

  • 調(diào)度方面黔寇,k8sGoogle 開源,社區(qū)的強(qiáng)力推動(dòng)斩萌,有大量的落地方案缝裤。Rancher對(duì)k8s進(jìn)行了功能的拓展,實(shí)現(xiàn)了和k8s集群交互的一些便捷工具颊郎,包括執(zhí)行命令行憋飞,管理多個(gè) k8s集群,查看k8s集群節(jié)點(diǎn)的運(yùn)行狀態(tài)等姆吭,推薦集成榛做。

十三、問題排查

[圖片上傳失敗...(image-df6eae-1600265599786)]

java經(jīng)常發(fā)生內(nèi)存溢出問題内狸。使用jmap導(dǎo)出堆棧后检眯,我一般使用mat進(jìn)行深入分析。

如果在線上實(shí)時(shí)分析昆淡,有arthas和perf兩款工具锰瘸。

當(dāng)然,有大批量的linux工具進(jìn)行支持昂灵。

十四避凝、本地工具

[圖片上傳失敗...(image-dac91d-1600265599786)]

本地使用的jar包和工具,那就多了去了眨补。下面僅僅提一下最最常用的幾個(gè)管削。 數(shù)據(jù)庫(kù)連接池方面,國(guó)內(nèi)使用druid最多撑螺。目前含思,有號(hào)稱速度最快的hikari數(shù)據(jù)庫(kù)連接池,以及老掉牙的dbcp和c3p0甘晤。 json方面含潘,國(guó)內(nèi)使用fastjson最多,三天兩頭冒出個(gè)漏洞安皱;國(guó)外則使用jackson多一些调鬓。它們的api都類似艇炎,jackson特性多一些酌伊,但fastjson更加容易使用。鑒于fastjson頻繁出現(xiàn)安全問題,現(xiàn)在已經(jīng)掀起了一股去fastjson的浪潮居砖。 工具包方面虹脯,雖然有各種commons包,guava首選奏候。 技術(shù)日新月異循集,新瓶裝舊酒,名詞一籮筐蔗草,程序員很辛苦咒彤。唯有那背后的基礎(chǔ)原理,大道至簡(jiǎn)的思想咒精,經(jīng)久不衰镶柱。

喜歡我的文章就關(guān)注我吧,持續(xù)更新中.....

以上內(nèi)容希望幫助到大家模叙,很多PHPer在進(jìn)階的時(shí)候總會(huì)遇到一些問題和瓶頸歇拆,業(yè)務(wù)代碼寫多了沒有方向感,不知道該從那里入手去提升范咨,對(duì)此我整理了一些資料故觅,包括但不限于:分布式架構(gòu)、高可擴(kuò)展渠啊、高性能输吏、高并發(fā)、服務(wù)器性能調(diào)優(yōu)替蛉、TP6评也,laravel,YII2灭返,Redis盗迟,Swoole、Swoft熙含、Kafka罚缕、Mysql優(yōu)化、shell腳本怎静、Docker邮弹、微服務(wù)、Nginx等多個(gè)知識(shí)點(diǎn)高級(jí)進(jìn)階干貨需要的可以免費(fèi)分享給大家蚓聘,需要的可以點(diǎn)擊進(jìn)入暗號(hào):知乎腌乡。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市夜牡,隨后出現(xiàn)的幾起案子与纽,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件急迂,死亡現(xiàn)場(chǎng)離奇詭異影所,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)僚碎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門猴娩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人勺阐,你說我怎么就攤上這事卷中。” “怎么了渊抽?”我有些...
    開封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵仓坞,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我腰吟,道長(zhǎng)无埃,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任毛雇,我火速辦了婚禮嫉称,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘灵疮。我一直安慰自己织阅,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開白布震捣。 她就那樣靜靜地躺著荔棉,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蒿赢。 梳的紋絲不亂的頭發(fā)上润樱,一...
    開封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音羡棵,去河邊找鬼壹若。 笑死,一個(gè)胖子當(dāng)著我的面吹牛皂冰,可吹牛的內(nèi)容都是我干的店展。 我是一名探鬼主播,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼秃流,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼赂蕴!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起舶胀,我...
    開封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤概说,失蹤者是張志新(化名)和其女友劉穎碧注,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體席怪,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡哆窿,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年桐汤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了揖铜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片涩维。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡哄尔,死狀恐怖籽慢,靈堂內(nèi)的尸體忽然破棺而出舶衬,到底是詐尸還是另有隱情重贺,我是刑警寧澤耿导,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布声怔,位于F島的核電站,受9級(jí)特大地震影響舱呻,放射性物質(zhì)發(fā)生泄漏醋火。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一箱吕、第九天 我趴在偏房一處隱蔽的房頂上張望芥驳。 院中可真熱鬧,春花似錦茬高、人聲如沸兆旬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽丽猬。三九已至,卻和暖如春熏瞄,著一層夾襖步出監(jiān)牢的瞬間脚祟,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工强饮, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留愚铡,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓胡陪,卻偏偏與公主長(zhǎng)得像沥寥,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子柠座,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354