高級(jí)運(yùn)維工程師打怪升級(jí)之路

人生就像一場游戲宇植,這場游戲給我們帶來了的許多困難怠苔,但是我們?yōu)榱藟粝胪瑸榱思胰耍瑸榱俗约翰粩鄪^斗著柑司,努力工作迫肖。

今天就讓我?guī)е蠹乙黄鸹仡櫢呒?jí)運(yùn)維工程師打怪升級(jí)之路。

運(yùn)維工程師在剛?cè)胄须A段是一很苦逼的帜羊,可能干著修電腦咒程、掐網(wǎng)線鸠天、搬機(jī)器的活讼育,顯得沒地位!時(shí)間也很碎片化稠集,各種零碎的瑣事圍繞著你奶段,也很難體現(xiàn)個(gè)人價(jià)值,漸漸的對(duì)行業(yè)很迷茫剥纷,覺得沒什么發(fā)展前途痹籍。

這些枯燥無味工作的確會(huì)使人匱乏!技術(shù)是枯燥無味的晦鞋,這些基本工作并非是多余的蹲缠,這些經(jīng)驗(yàn)會(huì)對(duì)后期的運(yùn)維工作帶來一定的幫助棺克。所以在這個(gè)時(shí)期一定要保持積極向上的心態(tài),持續(xù)的學(xué)習(xí)线定,爭取找一個(gè)更鍛煉人的工作娜谊!

打怪篇

image

職業(yè)發(fā)展

技術(shù)專家

發(fā)展規(guī)劃:初中級(jí)工程師 -> 高級(jí)工程師 -> 架構(gòu)師 -> 專家

適宜人群:比較喜歡挑戰(zhàn),熱愛技術(shù)斤讥,有較強(qiáng)鉆研精神纱皆,在某一領(lǐng)域有深入的理解,性格比較內(nèi)向芭商。

技術(shù)管理

發(fā)展規(guī)劃:初中級(jí)工程師 -> 高級(jí)工程師 -> 主管/經(jīng)理 -> 總監(jiān) -> CTO(首席技術(shù)官)

適宜人群:技術(shù)知識(shí)面廣派草,有一些管理思維,善于交際铛楣,表達(dá)溝通能力強(qiáng)近迁,經(jīng)常關(guān)注行業(yè)內(nèi)動(dòng)態(tài)和主流技術(shù)。

目標(biāo)

  • 熟悉運(yùn)維技術(shù)學(xué)習(xí)路線及相關(guān)技能

  • 熟悉職業(yè)發(fā)展方向及面試分析


初級(jí)

主要工作

  • 修電腦簸州,設(shè)備巡檢

  • 服務(wù)器上下架

  • 網(wǎng)絡(luò)服務(wù)部署

  • 網(wǎng)站平臺(tái)搭建與維護(hù)

1钳踊、Linux基礎(chǔ)

剛開始階段需要熟悉Linux操作系統(tǒng)安裝,目錄結(jié)構(gòu)勿侯、啟動(dòng)流程等拓瞪。

2、系統(tǒng)管理

主要學(xué)習(xí)Linux系統(tǒng)助琐,生產(chǎn)環(huán)境中基本都在字符界面完成工作祭埂,所以要掌握常用的幾十個(gè)基本管理命令,包括用戶管理兵钮、磁盤分區(qū)蛆橡、軟件包管理、文件權(quán)限掘譬、文本處理泰演、進(jìn)程管理、性能分析工具等葱轩。

3睦焕、網(wǎng)絡(luò)基礎(chǔ)

OSI和TCP/IP模型一定要熟悉⊙ス埃基本的交換機(jī)垃喊、路由器概念及實(shí)現(xiàn)原理要知道。

4袜炕、Shell腳本編程基礎(chǔ)

掌握Shell基本語法結(jié)構(gòu)本谜,能編寫簡單的腳本即可。


中級(jí)

主要工作

  • 集群網(wǎng)站平臺(tái)搭建

  • 數(shù)據(jù)庫基本管理

  • 監(jiān)控系統(tǒng)搭建

  • 腳本化工作

1偎窘、網(wǎng)絡(luò)服務(wù)

常見的網(wǎng)絡(luò)服務(wù)要會(huì)部署乌助,比如vsftp溜在、nfs、samba他托、bind炕泳、dhcp等。
代碼版本管理系統(tǒng)少不了上祈,可以學(xué)習(xí)下主流的GIT培遵,能部署和簡單使用就可以了。
經(jīng)常在服務(wù)器之間傳輸數(shù)據(jù)登刺,所以要會(huì)使用:rsync和scp籽腕。
數(shù)據(jù)同步:inotify/sersync。
重復(fù)性完成一些工作纸俭,可寫成腳本定時(shí)去運(yùn)行皇耗,所以得會(huì)配置Linux下的定時(shí)任務(wù)服務(wù)crond。

2揍很、Web服務(wù)

每個(gè)公司基本都會(huì)有網(wǎng)站郎楼,能讓網(wǎng)站跑起來,就需要搭建Web服務(wù)平臺(tái)了窒悔。
如果是用PHP語言開發(fā)的呜袁,通常搭建LNMP網(wǎng)站平臺(tái),這是一個(gè)技術(shù)名詞組合的拼寫简珠,分開講就是得會(huì)部署Nginx阶界、MySQL和PHP。
如果是JAVA語言開發(fā)的聋庵,通常使用Tomcat運(yùn)行項(xiàng)目膘融,為了提高訪問速度,可以使用Nginx反向代理Tomcat祭玉,Nginx處理靜態(tài)頁面氧映,Tomcat處理動(dòng)態(tài)頁面,實(shí)現(xiàn)動(dòng)靜分離脱货。
不是會(huì)部署這么簡單岛都,還要知道HTTP協(xié)議工作原理、簡單的性能調(diào)優(yōu)蹭劈。

3疗绣、負(fù)載均衡器

單臺(tái)服務(wù)器終究資源有限,抵抗高訪問量肯定是無法支撐的铺韧,解決此問題最關(guān)鍵的技術(shù)就是采用負(fù)載均衡器,水平擴(kuò)展多臺(tái)Web服務(wù)器缓淹,同時(shí)對(duì)外提供服務(wù)哈打,這樣就成倍擴(kuò)展性能了塔逃。負(fù)載均衡器主流開源技術(shù)有LVS、HAProxy和Nginx料仗。一定要熟悉一兩個(gè)湾盗!

4、數(shù)據(jù)庫

數(shù)據(jù)庫選擇MySQL立轧,它是世界上使用最為廣泛的開源數(shù)據(jù)庫格粪。學(xué)它準(zhǔn)沒錯(cuò)!
也要會(huì)一些簡單的SQL語句氛改、用戶管理帐萎、常用存儲(chǔ)引擎、數(shù)據(jù)庫備份與恢復(fù)胜卤。
想要深入點(diǎn)疆导,必須會(huì)主從復(fù)制、性能優(yōu)化葛躏、主流集群方案:MHA澈段、MGR等。
NoSQL這么流行當(dāng)然也少不了舰攒,學(xué)下Redis败富、MongoDB這兩個(gè)就好了。

5摩窃、監(jiān)控系統(tǒng)

監(jiān)控必不可少囤耳,是及時(shí)發(fā)現(xiàn)問題和追溯問題的救命稻草∨忌郑可以選擇學(xué)習(xí)主流的Zabbix充择、Prometheus開源監(jiān)控系統(tǒng),功能豐富匪蟀,能滿足企業(yè)級(jí)監(jiān)控需求椎麦。監(jiān)控點(diǎn)包括服務(wù)器硬件、服務(wù)器性能材彪、API观挎、業(yè)務(wù)、PV/UV段化、日志等方面馆里。
也可以弄個(gè)儀表盤展示幾個(gè)實(shí)時(shí)關(guān)鍵的數(shù)據(jù),比如Grafana趁餐,會(huì)非常炫酷俐芯。

6、日志分析系統(tǒng)

日志也很重要,定期的分析缓升,可發(fā)現(xiàn)潛在隱患鼓鲁,提煉出有價(jià)值的東西。
主流日志系統(tǒng):ELK Stack
學(xué)會(huì)部署使用港谊,能分析日志并可視化骇吭,方便故障排查。

7歧寺、安全防范

安全很重要燥狰,不要等到系統(tǒng)被攻擊了,再做安全策略斜筐,此時(shí)已晚龙致!所以,當(dāng)一臺(tái)服務(wù)器上線后應(yīng)馬上做安全訪問控制策略奴艾,比如使用iptables限制只允許信任源IP訪問净当,關(guān)閉一些無用的服務(wù)和端口等。
一些常見的攻擊類型一定得知道啊蕴潦,否則怎么對(duì)癥下藥呢像啼!比如CC、DDOS潭苞、ARP等忽冻。

8、Shell腳本編程進(jìn)階

Shell腳本是Linux自動(dòng)完成工作的利器此疹,必須得熟練編寫僧诚,所以得進(jìn)一步學(xué)習(xí)函數(shù)、數(shù)組蝗碎、信號(hào)湖笨、發(fā)郵件等。
文本處理三劍客(grep蹦骑、sed慈省、awk)得玩6啊,Linux下文本處理就指望它們了眠菇。

9边败、Python/Go開發(fā)基礎(chǔ)

Shell腳本只能完成一些基本的任務(wù),想要完成更復(fù)雜些的任務(wù)捎废,比如調(diào)用API笑窜、多進(jìn)程等。就需要學(xué)高級(jí)語言了登疗。
Python是運(yùn)維領(lǐng)域使用最多的語言排截,簡單易用,學(xué)它準(zhǔn)沒錯(cuò)!此階段掌握基礎(chǔ)就可以了匾寝,例如基本語法結(jié)構(gòu)搬葬、文件對(duì)象操作荷腊、函數(shù)艳悔、迭代對(duì)象、異常處理女仰、發(fā)郵件猜年、數(shù)據(jù)庫編程等。


高級(jí)

主要工作

  • 億級(jí)網(wǎng)站架構(gòu)設(shè)計(jì)

  • 性能優(yōu)化

  • 容器化落地

  • 大規(guī)模自動(dòng)化運(yùn)維

  • 平臺(tái)化工作

1疾忍、Web靜態(tài)緩存

用戶老喊著訪問網(wǎng)站慢乔外,看看服務(wù)器資源還很富裕啊一罩!網(wǎng)站訪問慢也許不是服務(wù)器資源飽和導(dǎo)致的杨幼,影響因素很多,例如網(wǎng)絡(luò)聂渊、轉(zhuǎn)發(fā)層數(shù)等差购。
對(duì)于網(wǎng)絡(luò),存在南北通信問題汉嗽,之間訪問會(huì)慢欲逃,這個(gè)可以使用CDN解決,同時(shí)緩存靜態(tài)頁面饼暑,盡可能將請求攔截在最上層響應(yīng)稳析,減少后端請求和響應(yīng)時(shí)間。
如果不用CDN弓叛,也可以使用Squid彰居、Varnish、Nginx這樣的緩存服務(wù)實(shí)現(xiàn)靜態(tài)頁面緩存撰筷,放到流量入口處陈惰。

2、集群

單臺(tái)服務(wù)器終究資源有限闭专,抵抗高訪問量肯定是無法支撐的奴潘,解決此問題最關(guān)鍵的技術(shù)就是采用負(fù)載均衡器,水平擴(kuò)展多臺(tái)Web服務(wù)器影钉,同時(shí)對(duì)外提供服務(wù)画髓,這樣就成倍擴(kuò)展性能了。負(fù)載均衡器主流開源技術(shù)有LVS平委、HAProxy和Nginx奈虾。一定要熟悉一兩個(gè)!
Web服務(wù)器性能瓶頸解決了,數(shù)據(jù)庫更為關(guān)鍵肉微,還是采用集群匾鸥,就拿MySQL來說,可以一主多從架構(gòu)碉纳,在此基礎(chǔ)上讀寫分離勿负,主負(fù)責(zé)寫,多從負(fù)責(zé)讀劳曹,從庫可水平擴(kuò)展奴愉,前面再來個(gè)四層負(fù)載均衡器,承載千萬級(jí)PV铁孵,妥妥的锭硼!
高可用軟件也得會(huì),避免單點(diǎn)的利器蜕劝,主流的有Keepalived檀头、Heartbeat等。

隨著業(yè)務(wù)擴(kuò)展岖沛,網(wǎng)站圖片越來越多暑始!NFS共享存儲(chǔ)支撐不過了,處理很慢烫止!上分布式文件系統(tǒng)蒋荚,并行處理任務(wù),無單點(diǎn)馆蠕,高可靠期升,高性能等特性,主流的有FastDFS互躬、MFS播赁、HDFS、Ceph吼渡、GFS等容为。初期的話我建議學(xué)習(xí)下FastDFS,能滿足中小規(guī)模需求寺酪。

3坎背、容器化

硬件服務(wù)器資源利用率很低,甚是浪費(fèi)寄雀!可以把空閑多的服務(wù)器虛擬化得滤,弄成很多個(gè)的虛擬機(jī),每個(gè)虛擬機(jī)就是一個(gè)完整的操作系統(tǒng)盒犹《可以很大程度提高資源利用率眨业。主流私有云平臺(tái)實(shí)現(xiàn):KVM+OpenStack
虛擬機(jī)作為基礎(chǔ)平臺(tái)還可以,但應(yīng)用業(yè)務(wù)彈性伸縮也太重量了吧沮协!啟動(dòng)好幾分鐘龄捡,文件又這么大,快速擴(kuò)展太費(fèi)勁了慷暂!
好說聘殖,上容器,容器主要特點(diǎn)就是快速部署和環(huán)境隔離呜呐。一個(gè)服務(wù)封裝到鏡像中就斤,分分鐘鐘可創(chuàng)建幾百個(gè)容器悍募。
主流的容器技術(shù)非Docker莫屬了蘑辑。
當(dāng)然,生產(chǎn)環(huán)境單機(jī)Docker大多數(shù)情況下是無法滿足業(yè)務(wù)需求的坠宴,可以基于Kubernetes構(gòu)建容器平臺(tái)洋魂,集群化管理容器,形成一個(gè)大的資源池喜鼓,為基礎(chǔ)架構(gòu)提供有力的支撐副砍。

4、自動(dòng)化運(yùn)維

反反復(fù)復(fù)重復(fù)的工作庄岖,不但提高不了效率豁翎,價(jià)值也得不到體現(xiàn)。
一切運(yùn)維工作標(biāo)準(zhǔn)化隅忿,例如環(huán)境版本心剥、目錄結(jié)構(gòu)、操作系統(tǒng)等統(tǒng)一背桐。在標(biāo)準(zhǔn)化基礎(chǔ)上才能更方面的自動(dòng)化优烧,點(diǎn)點(diǎn)鼠標(biāo)或者敲幾個(gè)命令即可完成一項(xiàng)復(fù)雜的工作任務(wù),爽哉爽哉链峭!
因此畦娄,所有的操作盡可能自動(dòng)化,減少人為失誤弊仪,提高工作效率熙卡。
主流服務(wù)器集中管理工具:Ansible、Saltstack
持續(xù)集成工具:Jenkins励饵、Gitlab

5驳癌、Python開發(fā)進(jìn)階

可以再深入學(xué)習(xí)下Python開發(fā),掌握面向?qū)ο缶幊獭?br> 最好也掌學(xué)習(xí)一個(gè)Web框架開發(fā)網(wǎng)站曲横,例如Django喂柒、Flask不瓶,主要是開發(fā)運(yùn)維管理系統(tǒng),將一些復(fù)雜的流程寫到平臺(tái)中灾杰,再集成集中管理工具蚊丐,可打造一個(gè)屬于運(yùn)維自己的管理平臺(tái)。

7艳吠、性能優(yōu)化

只會(huì)部署是遠(yuǎn)遠(yuǎn)不夠的麦备,性能優(yōu)化能最大化提升服務(wù)承載量。
這塊也是比較難的昭娩,也是高薪的關(guān)鍵點(diǎn)之一凛篙,為了錢也得下點(diǎn)功夫?qū)W習(xí)啊栏渺!
可以從硬件層呛梆、操作系統(tǒng)層、軟件層和架構(gòu)層維度展開思考磕诊。

師門任務(wù)篇

image

掌握 80% 互聯(lián)網(wǎng)公司會(huì)用到的技術(shù)才有更大競爭力填物!

武器類型 武器名稱
文本處理 grep、sed霎终、awk
數(shù)據(jù)傳輸 Rsync滞磺、Scp、Inodify/Sersync
進(jìn)程管理 Supervisor
性能分析 top莱褒、free击困、df、iftop广凸、iostat阅茶、vmstat、dstat炮障、sar目派、sysdig
網(wǎng)絡(luò)服務(wù) vsftp、nfs胁赢、samba企蹭、bind、dhcp智末、postfix
Web服務(wù) Apache谅摄、NginxTomcat系馆、JBoss送漠、Resin
數(shù)據(jù)庫 MySQL、MariaDB由蘑、PostgreSQL闽寡,Oracle
NoSQL Redis代兵、MongoDB
消息中間件 RabbitMQ、ActiveMQ
版本管理 SVN爷狈、Git
靜態(tài)緩存 Squid植影、Varnish、Nginx
負(fù)載均衡 LVS涎永、HAProxy思币、Nginx
高可用軟件 Keepalived、Heartbeat羡微、DRBD谷饿、corosync+pacemaker
集中管理工具 Ansible、Saltstack妈倔、Chef博投、Puppet
虛擬化 KVM、Xen启涯、Openstack贬堵、Cloudstack
容器化 Docker、Kubernetes结洼、Rancher、Openshift
自動(dòng)裝機(jī) Kickstart叉跛、Cobbler
抓包分析 Tcpdump松忍、Wireshark
持續(xù)集成 Jenkins、Gitlab
MySQL代理 Altas筷厘、Cobar鸣峭、Mycat
壓測 ab、fio酥艳、sysbench摊溶、mysqlslap、Jemter
日志系統(tǒng) ELK Stack充石、Graylog
監(jiān)控 Zabbix莫换、Prometheus、Open-falcon
分布式文件系統(tǒng) Ceph骤铃、GlusterFS拉岁、FastDFS

升級(jí)篇

image

金三銀四,找工作難惰爬?

“金三銀四“ 跳槽季喊暖,準(zhǔn)備好換工作了吧!心里想得美滋滋撕瞧,現(xiàn)實(shí)卻殘酷得赤裸裸陵叽,投了很多簡歷狞尔,面試率低的可憐,都說金三銀四巩掺,可為什么我換工作就這么難呢沪么?

根據(jù)阿良經(jīng)驗(yàn),主要原因如下:

  1. 簡歷不夠明確清晰(10%)

  2. 沒掌握面試技巧(10%)

  3. 選擇工作的態(tài)度(10%)

  4. 不明確自己的價(jià)值(5%)

  5. 專業(yè)技能不足(55%)

  6. 學(xué)歷(5%)

  7. 行業(yè)不景氣:停招锌半、裁員G莩怠(5%)

意識(shí)

1、堅(jiān)持

學(xué)習(xí)是一個(gè)很漫長的過程刊殉,是我們每個(gè)人需要用一生去堅(jiān)持的事業(yè)殉摔。
貴在堅(jiān)持,難在堅(jiān)持记焊,成在堅(jiān)持逸月!

2、目標(biāo)

沒有目標(biāo)的不叫工作遍膜,沒有量化的不叫目標(biāo)碗硬。
每到一個(gè)階段,制定一個(gè)目標(biāo)瓢颅。
比如:先定一個(gè)能達(dá)到的小目標(biāo)恩尾,掙它一個(gè)億!

3挽懦、興趣

如果你熱愛這個(gè)行業(yè)翰意,那它就不只是一份工作。

如果你不熱愛這個(gè)行業(yè)信柿,可能是做不好冀偶,也可能堅(jiān)持不超過2年,因?yàn)槟阈睦锷线^不去渔嚷。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末进鸠,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子形病,更是在濱河造成了極大的恐慌客年,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件窒朋,死亡現(xiàn)場離奇詭異搀罢,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)侥猩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門榔至,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人欺劳,你說我怎么就攤上這事唧取∏穑” “怎么了?”我有些...
    開封第一講書人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵枫弟,是天一觀的道長邢享。 經(jīng)常有香客問我,道長淡诗,這世上最難降的妖魔是什么骇塘? 我笑而不...
    開封第一講書人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮韩容,結(jié)果婚禮上款违,老公的妹妹穿的比我還像新娘。我一直安慰自己群凶,他們只是感情好插爹,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著请梢,像睡著了一般赠尾。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上毅弧,一...
    開封第一講書人閱讀 51,679評(píng)論 1 305
  • 那天气嫁,我揣著相機(jī)與錄音,去河邊找鬼形真。 笑死杉编,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的咆霜。 我是一名探鬼主播,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼嘶朱,長吁一口氣:“原來是場噩夢啊……” “哼蛾坯!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起疏遏,我...
    開封第一講書人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤脉课,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后财异,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體倘零,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年戳寸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了呈驶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡疫鹊,死狀恐怖袖瞻,靈堂內(nèi)的尸體忽然破棺而出司致,到底是詐尸還是另有隱情,我是刑警寧澤聋迎,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布脂矫,位于F島的核電站,受9級(jí)特大地震影響霉晕,放射性物質(zhì)發(fā)生泄漏庭再。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一牺堰、第九天 我趴在偏房一處隱蔽的房頂上張望拄轻。 院中可真熱鬧,春花似錦萌焰、人聲如沸哺眯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽奶卓。三九已至,卻和暖如春撼玄,著一層夾襖步出監(jiān)牢的瞬間夺姑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來泰國打工掌猛, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留盏浙,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓荔茬,卻偏偏與公主長得像废膘,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子慕蔚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

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