一分鐘告訴你究竟DevOps是什么鬼?

image

歷史回顧

為了能夠更好的理解什么是DevOps琅摩,我們很有必要對(duì)當(dāng)時(shí)還只有程序員(此前還沒(méi)有派生出開(kāi)發(fā)者,前臺(tái)工程師躁劣,后臺(tái)工程師之類)這個(gè)稱號(hào)存在的歷史進(jìn)行一下回顧迫吐。

如編程之道中所言:

老一輩的程序員是神秘且深?yuàn)W的。我們沒(méi)法揣摩他們的想法账忘,我們所能做的只是描述一下他們的表象志膀。

清醒的像一只游過(guò)水面的狐貍

警惕的像一位戰(zhàn)場(chǎng)上的將軍

友善的像一位招待客人的女主人

單純的像一塊未經(jīng)雕琢的木頭

深邃的像一潭幽深洞穴中漆黑的池水

程序員開(kāi)發(fā)了機(jī)器語(yǔ)言,機(jī)器語(yǔ)言又產(chǎn)生了匯編語(yǔ)言鳖擒,匯編語(yǔ)言產(chǎn)生了編譯器溉浙,如今的語(yǔ)言已經(jīng)多不勝數(shù)。每一種語(yǔ)言都有其各自的謙卑用途蒋荚。每一種語(yǔ)言都表達(dá)出軟件的陰和陽(yáng)戳稽。每一種語(yǔ)言都在此道之中有其一席之地。

遙想當(dāng)年期升,軟件程序員的大部分辦公司那時(shí)還被稱作實(shí)驗(yàn)室惊奇,程序員那時(shí)還叫做科學(xué)家。為了開(kāi)發(fā)出一套優(yōu)秀的軟件播赁,程序員們必須深入了解他們需要的應(yīng)用相關(guān)的所有問(wèn)題颂郎。他們必須清楚知道這個(gè)軟件應(yīng)用在什么場(chǎng)合,這個(gè)軟件是必須在什么系統(tǒng)上運(yùn)行容为。本質(zhì)上說(shuō)乓序,程序員對(duì)所要開(kāi)發(fā)的軟件的所有環(huán)節(jié)都有透徹的了解,從規(guī)格說(shuō)明書(shū)編寫(xiě)坎背、到軟件開(kāi)發(fā)替劈、到測(cè)試、到部署得滤、再到技術(shù)支持陨献。

過(guò)了不久,人類(客戶)貪婪的特性就開(kāi)始表現(xiàn)出來(lái)耿戚,他們開(kāi)始不斷的進(jìn)行更多的索求湿故。更快的速度阿趁,更多的功能膜蛔,更多的用戶坛猪,更多的所有所有。

作為一類謙虛皂股、謙卑墅茉、且平靜的生物,我們的老一輩程序員們將很難在這種爆發(fā)性的過(guò)度的需求索取中幸存呜呐。最好的取勝辦法就是往不同的方向進(jìn)化成不同的新物種就斤。很快,程序員這個(gè)稱號(hào)就開(kāi)始絕跡于江湖蘑辑,而那些叫做開(kāi)發(fā)者洋机、軟件工程師、網(wǎng)絡(luò)管理員洋魂、數(shù)據(jù)庫(kù)開(kāi)發(fā)者绷旗、網(wǎng)頁(yè)開(kāi)發(fā)者、系統(tǒng)架構(gòu)師副砍、測(cè)試工程師等等更多的新物種就開(kāi)始誕生衔肢。快速進(jìn)化和快速適應(yīng)外界的挑戰(zhàn)成為了他們的DNA的一部分豁翎。這些新的種族可以在幾個(gè)星期內(nèi)就完成進(jìn)化角骤。網(wǎng)頁(yè)開(kāi)發(fā)者很快就能進(jìn)化成后臺(tái)開(kāi)發(fā)者,前臺(tái)開(kāi)發(fā)者心剥,PHP開(kāi)發(fā)者邦尊,Ruby開(kāi)發(fā)者,Angular開(kāi)發(fā)者…多得讓人側(cè)目优烧。

很快他們就都忘卻了他們都是起源于程序員這個(gè)共同的祖先的事實(shí)蝉揍,忘卻了曾經(jīng)有過(guò)這么一個(gè)單純且平靜的,想要讓這個(gè)世界變得更好的科學(xué)家匙隔。然后他們開(kāi)始不斷的劍拔弩張疑苫,都聲稱自己才是“程序員”的純血統(tǒng)繼承人。

隨著時(shí)間的轉(zhuǎn)移纷责,各門各派開(kāi)始獨(dú)占山頭捍掺,很少進(jìn)行交流互動(dòng),只有在迫不得已的時(shí)刻才會(huì)進(jìn)行溝通再膳。他們開(kāi)始不再為同源的遙遠(yuǎn)的同宗兄弟們的成功而歡呼雀躍挺勿,甚至再也不會(huì)時(shí)把的遙寄張明信片進(jìn)行噓寒問(wèn)暖。

但是在深夜仰望星空的時(shí)候喂柒,他們還是會(huì)發(fā)現(xiàn)他們的心底深處的程序員基因還是會(huì)不停的閃爍著不瓶,期盼著這閃爍的火花能照亮整個(gè)銀河系并帶來(lái)和平禾嫉。

image

在這場(chǎng)自私且以自我為中心的欲征服世界的賽跑旅程里,程序員的子孫們?cè)绨阉麄冋嬲墓ぷ髂繕?biāo)置之腦后-為客戶解決問(wèn)題蚊丐。面對(duì)一拖再拖的項(xiàng)目交付日期熙参,昂貴的開(kāi)發(fā)代價(jià),甚至最終失敗的項(xiàng)目麦备,客戶們開(kāi)始對(duì)這種情況深惡痛絕孽椰。

偶爾,也會(huì)有一個(gè)閃亮的明星站出來(lái)凛篙,靈機(jī)一動(dòng)的提供一種辦法來(lái)嘗試結(jié)束這種混亂并帶來(lái)和平黍匾。所以瀑布開(kāi)發(fā)流程就應(yīng)運(yùn)而生了。這是一個(gè)非常了不起的創(chuàng)意呛梆,因?yàn)樗昧瞬煌瑘F(tuán)隊(duì)的開(kāi)發(fā)者們只在必須的時(shí)候才進(jìn)行溝通的這個(gè)事實(shí)锐涯。當(dāng)一個(gè)團(tuán)隊(duì)完成了他們的工作的時(shí)候,它就會(huì)和下游的團(tuán)隊(duì)進(jìn)行交流并把任務(wù)進(jìn)行往下傳填物,如此一級(jí)接一級(jí)的傳遞下去纹腌,永不回首。

image

這種方式在一段時(shí)間內(nèi)發(fā)揮了效用融痛,但很快壶笼,一如既往,貪婪的人們(客戶)又開(kāi)始提出更多的訴求雁刷。他們希望能夠更多地參加到整個(gè)軟件的開(kāi)發(fā)流程中來(lái)覆劈,不時(shí)的提出他們的建議,甚至在很晚的時(shí)候還提出改需求這種喪心病狂的事情來(lái)沛励。

結(jié)果就是如大家有目共睹的事實(shí)一樣责语,軟件項(xiàng)目非常容易失敗這個(gè)說(shuō)法已經(jīng)作為一個(gè)行業(yè)標(biāo)準(zhǔn)被人們所接受。數(shù)據(jù)表明超過(guò)50%的項(xiàng)目最終都是以失敗告終的目派。更可悲的是坤候,在當(dāng)時(shí)看來(lái),人們對(duì)這種情況是束手無(wú)策企蹭。

值得慶幸的是白筹,每一個(gè)時(shí)代總會(huì)有那么幾個(gè)思想開(kāi)放的英雄如漆黑中的螢火蟲(chóng)般冒出來(lái)。他們知道這些不同團(tuán)隊(duì)的開(kāi)發(fā)者們必須要找到一個(gè)可以協(xié)同工作谅摄、進(jìn)行交流徒河、并且能夠彈性的向客戶保證對(duì)方將會(huì)拿到最優(yōu)的解決方案的方式。這種嘗試最早可以追溯到1957年送漠,偉大的約翰·馮·諾依曼和同行們的努力顽照。但是我們最終卻是等到2001年才收獲到革命的果實(shí),當(dāng)時(shí)行業(yè)的十多個(gè)精英創(chuàng)造出了如今聞名世界的“敏捷宣言”闽寡。

敏捷宣言基于以下十二條原則:

我們的首要任務(wù)是通過(guò)盡早地代兵、持續(xù)地交付可評(píng)價(jià)的軟件來(lái)使客戶滿意尼酿。

樂(lè)于接受需求變更,即使是在開(kāi)發(fā)后期也應(yīng)如此植影。敏捷過(guò)程能夠駕馭變化裳擎,從而為客戶贏得競(jìng)爭(zhēng)優(yōu)勢(shì)。

頻繁交付可使用的軟件何乎,交付間隔越短越好句惯,可以從幾個(gè)星期到幾個(gè)月土辩。

在整個(gè)項(xiàng)目開(kāi)發(fā)期間支救,業(yè)務(wù)人員和開(kāi)發(fā)人員必須朝夕工作在一起。

圍繞那些有推動(dòng)力的人們來(lái)構(gòu)建項(xiàng)目拷淘。給予他們所需的環(huán)境和支持各墨,并且信任他們能夠把工作完成好。

與開(kāi)發(fā)團(tuán)隊(duì)以及在開(kāi)發(fā)團(tuán)隊(duì)內(nèi)部最快速启涯、有效的傳遞信息的方法就是贬堵,面對(duì)面的交談。

可使用的軟件是進(jìn)度的主要衡量指標(biāo)结洼。

敏捷過(guò)程提倡可持續(xù)發(fā)展黎做。出資人、開(kāi)發(fā)人員以及使用者應(yīng)該總是共同維持穩(wěn)定的開(kāi)發(fā)速度松忍。

為了增強(qiáng)敏捷能力蒸殿,應(yīng)持續(xù)關(guān)注技術(shù)上的杰出成果和良好的設(shè)計(jì)。

簡(jiǎn)潔——最大化不必要工作量的藝術(shù)——是至關(guān)重要的鸣峭。

最好的架構(gòu)宏所、需求和設(shè)計(jì)都源自自我組織的團(tuán)隊(duì)。

團(tuán)隊(duì)?wèi)?yīng)該定期反思如何能變得更有戰(zhàn)斗力摊溶,然后相應(yīng)地轉(zhuǎn)變并調(diào)整其行為爬骤。

敏捷宣言是為銀河系帶來(lái)和平以及維護(hù)各自的平衡所邁出的很重要的第一步。在很長(zhǎng)的時(shí)間里莫换,相比此前基于流程和機(jī)械化的方式霞玄,這是第一次基于文化和“人性”來(lái)將不同的關(guān)鍵項(xiàng)目關(guān)系人連接在一起的方式。人們開(kāi)始互相交流拉岁,進(jìn)行基本的碰頭會(huì)議坷剧,并開(kāi)始不斷的交流意見(jiàn)和看法。他們開(kāi)始意識(shí)到他們是有著很多比想象中還多的共同點(diǎn)的膛薛,客戶也開(kāi)始成為他們之中的一員听隐,而不再是像以往一樣只是往項(xiàng)目砸錢然后開(kāi)始求神拜佛祈求一切順利如愿。

image

盡管前面還是有不少的障礙需要克服哄啄,但是未來(lái)已經(jīng)光明了許多雅任。敏捷意味著開(kāi)放和擁抱(需求)改變风范。但是,如果改變過(guò)多的話沪么,人們就很難專注到最終的目標(biāo)和交付上來(lái)硼婿。此時(shí)精益軟件開(kāi)發(fā)就開(kāi)始破土而出了。

因?yàn)閷?duì)精益軟件開(kāi)發(fā)的著迷以及為了達(dá)成放逐和驅(qū)趕風(fēng)險(xiǎn)的目的禽车,一些程序員的子孫們就開(kāi)始探首窗外寇漫,開(kāi)始向軟件之外的行業(yè)進(jìn)行取經(jīng)。他們從一家主要的汽車生產(chǎn)商身上找到了救贖殉摔。豐田生產(chǎn)系統(tǒng)在精益上面的成就是不可思議的州胳,同時(shí)它們的精益生產(chǎn)的經(jīng)驗(yàn)也是很容易應(yīng)用到軟件開(kāi)發(fā)上來(lái)的。

精益有以下7個(gè)原則:

杜絕浪費(fèi)

內(nèi)建質(zhì)量

創(chuàng)建知識(shí)(放大學(xué)習(xí))

延遲決策(盡量延遲決定)

快速交付

尊重人員(團(tuán)隊(duì)授權(quán))

全局優(yōu)化

將這些放到敏捷上去的話逸月,精益原則就能讓人們?cè)趶木裆详P(guān)注做正確的事情栓撞,同時(shí)還能夠讓整個(gè)開(kāi)發(fā)流程擁有足夠的彈性。

一旦敏捷和精益軟件開(kāi)發(fā)被軟件開(kāi)發(fā)團(tuán)隊(duì)采納碗硬,那么下一步就是把這一套原則應(yīng)用到IT團(tuán)隊(duì)上來(lái)瓤湘。把IT也納入到整體戰(zhàn)略上,然后我們就來(lái)到了DevOps跟前了恩尾!

進(jìn)入DevOps – 高速公路的三條車道

老一派的軟件開(kāi)發(fā)團(tuán)隊(duì)成員會(huì)包含業(yè)務(wù)分析員弛说,系統(tǒng)架構(gòu)師,前端開(kāi)發(fā)者翰意,后端開(kāi)發(fā)者木人,測(cè)試員,等等猎物。優(yōu)化如敏捷和精益原則等的軟件開(kāi)發(fā)流程的關(guān)注點(diǎn)就在這些地方虎囚。比如,軟件一旦達(dá)到”可以生產(chǎn)“的程度蔫磨,就會(huì)發(fā)到系統(tǒng)工程師淘讥、發(fā)布工程師、DBA堤如、網(wǎng)絡(luò)工程師蒲列,安全專家這些“運(yùn)維人員”的手上。這里該如何將橫在Dev(開(kāi)發(fā))和Ops(運(yùn)維)之間的鴻溝給填平搀罢,這就是DevOps的主要關(guān)注點(diǎn)了蝗岖。

DevOps是在整個(gè)IT價(jià)值流中實(shí)施精益原則的結(jié)果。IT價(jià)值流將開(kāi)發(fā)延伸至生產(chǎn)榔至,將由程序員這個(gè)遙遠(yuǎn)的祖宗所繁衍的所有子孫給聯(lián)合在一起抵赢。
這是來(lái)自Gene Kim的對(duì)DevOps的最好的解析,如果你還沒(méi)有看過(guò)他的《鳳凰項(xiàng)目》這本書(shū)的話,我建議你真的該好好花時(shí)間看看铅鲤。

你不應(yīng)該重新招聘DevOps工程師划提,且DevOps也不應(yīng)該是一個(gè)IT的新部門。DevOps是一種文化邢享,一種理念鹏往,且是和IT糅合成一整體的。世間沒(méi)有任何工具可以把你的IT變成一個(gè)DevOps組織骇塘,也沒(méi)有任何自動(dòng)化方式可以指引你該如何為你的客戶提供最大化的效益伊履。

DevOps通常作為下面這三個(gè)方式而為人所熟知,而在我眼里我是把它們看成是一條高速公路上的三條車道款违。你從第一條車道開(kāi)始唐瀑,然后加速進(jìn)入到第二條車道,最終在第三車道上高速行駛奠货。

車道1 – 系統(tǒng)級(jí)別的整體效率考量是最主要的關(guān)注點(diǎn)介褥,這超過(guò)對(duì)系統(tǒng)中任何一個(gè)單獨(dú)個(gè)體元素的考慮

車道2 – 確保能提供持續(xù)不斷的反饋循環(huán),且這些反饋不被忽視递惋。

車道3 – 持續(xù)的學(xué)習(xí)和吸取經(jīng)驗(yàn),不停的進(jìn)步溢陪,快速的失敗萍虽。

車道1 – 獲取速度

要采納DevOps的原則,理解整個(gè)運(yùn)作系統(tǒng)的重要性并對(duì)工作事項(xiàng)進(jìn)行合適的優(yōu)先級(jí)排序是組織首先要學(xué)的事情形真。在整個(gè)價(jià)值流中不能允許任何人產(chǎn)生瓶頸并降低整個(gè)工作流程杉编。

image

確保工作流程的不可中斷是身處流程中的所有成員的終極目標(biāo)。無(wú)論一個(gè)成員或者團(tuán)隊(duì)的角色是什么咆霜,他們都必須力圖對(duì)整個(gè)系統(tǒng)進(jìn)行深入的理解邓馒。這種思維方式對(duì)質(zhì)量會(huì)有著直接的影響,因?yàn)槿毕萦肋h(yuǎn)不會(huì)被下放到“下游“中蛾坯,這樣做的話將會(huì)導(dǎo)致瓶頸的產(chǎn)生光酣。

確保整個(gè)工作流程不會(huì)被瓶頸堵塞住還不夠。一個(gè)高產(chǎn)的組織應(yīng)該時(shí)陈隹危考慮該如何提升整個(gè)工作流程救军。有很多方法論可以做到這一點(diǎn),你不妨去看下“約束理論”倘零,“六西格瑪”唱遭,精益,或者豐田生產(chǎn)系統(tǒng)呈驶。

DevOps原則不關(guān)心你身處哪個(gè)團(tuán)隊(duì)拷泽,你是否是系統(tǒng)架構(gòu)師,DBA,QA司致,或者是網(wǎng)絡(luò)管理員订晌。相同的規(guī)則覆蓋所有的成員,每個(gè)成員都應(yīng)該遵循兩個(gè)簡(jiǎn)單的原則:

保持系統(tǒng)運(yùn)作流程不可中斷

隨時(shí)提升和優(yōu)化工作流程

車道2 – 換擋加速

不可中斷的系統(tǒng)流程是定向的蚌吸,且預(yù)期是從開(kāi)發(fā)流向運(yùn)維锈拨。在一個(gè)理想的世界中,這就意味著快速的開(kāi)發(fā)出高質(zhì)量的軟件羹唠,部署奕枢,并為客戶提供價(jià)值。

但是佩微,DevOps并非烏托邦式的理想國(guó)缝彬。如果單向的交付方式是可行的話,我們的瀑布模式早就能勝任了哺眯。評(píng)估可交付產(chǎn)品和整個(gè)流程中的交流對(duì)確保質(zhì)量是至關(guān)重要的谷浅。這里首個(gè)必須實(shí)現(xiàn)的”面向上游”的交流通道是從Ops到Dev。

image

我們獨(dú)自意淫是件非常容易的事情奶卓,但是獲取別人的反饋和提供反饋給別人才是探究事實(shí)真相的正確方法一疯。下游的每一步(反饋)都必須緊跟著有一個(gè)上游的確定。

你如何建立反饋循環(huán)機(jī)制并不重要。你可以邀請(qǐng)開(kāi)發(fā)人員加入技術(shù)支持團(tuán)隊(duì)的會(huì)議,或者將網(wǎng)絡(luò)管理員放到Sprint計(jì)劃會(huì)議中去深胳。一旦你的反饋機(jī)制就緒,反饋能夠被接收并被處理眉睹,你就已經(jīng)可以說(shuō)是走到了DevOps高速車道上來(lái)了。

車道3 – 飛速前進(jìn)

DevOps這條快速車道并不適合意志脆弱的人废膘。為了進(jìn)入這條車道竹海,你的組織必須要足夠的成熟。這里充滿了冒險(xiǎn)和對(duì)失敗教訓(xùn)的學(xué)習(xí)丐黄,不斷的嘗試斋配,并認(rèn)同屢敗屢戰(zhàn)和不斷的實(shí)踐是走向成功這條康莊大道的前提條件。在這里你應(yīng)該會(huì)經(jīng)常聽(tīng)到”套路“這個(gè)詞孵稽,這是有原因的许起。不斷的訓(xùn)練和重復(fù)所以能培養(yǎng)出大師,是因?yàn)槠渥審?fù)雜的動(dòng)作常規(guī)化菩鲜。

但是在你要將這些復(fù)雜的動(dòng)作連接起來(lái)之前园细,你很有必要先去掌握好每一個(gè)單獨(dú)步驟。

“適合大師的動(dòng)作并不適合新手接校,脫胎換骨之前你必須先要明白道的真諦猛频∈ū溃“

image

DevOps的第三個(gè)方式/快速車道包括每天分配時(shí)間來(lái)持續(xù)的進(jìn)行試驗(yàn),時(shí)常的獎(jiǎng)勵(lì)敢于冒險(xiǎn)的團(tuán)隊(duì)鹿寻,并將缺陷特意引入到運(yùn)作系統(tǒng)上來(lái)以增加系統(tǒng)的抗擊打能力睦柴。

為了確保你的組織能夠消化好這些方法,你必須在每個(gè)團(tuán)隊(duì)之間建立好頻繁的反饋循環(huán)毡熏,同時(shí)需要確保所有的瓶頸都能夠及時(shí)的被清理掉坦敌,并確保整個(gè)系統(tǒng)的運(yùn)作流程是不可中斷的。

實(shí)施好這些措施可以讓你的組織時(shí)刻保持警惕痢法,并能夠快速且高效的應(yīng)對(duì)挑戰(zhàn)狱窘。

概要 – DevOps清單

下面是一張你可以用來(lái)檢驗(yàn)?zāi)愕慕M織對(duì)DevOps的應(yīng)用情況的清單。當(dāng)然你也可以在文章評(píng)論后面給出你的觀點(diǎn)财搁。

開(kāi)發(fā)團(tuán)隊(duì)和運(yùn)維團(tuán)隊(duì)之間沒(méi)有障礙蘸炸。兩者皆是DevOps統(tǒng)一流程的一部分。

從一個(gè)團(tuán)隊(duì)流到另一個(gè)團(tuán)隊(duì)的工作都能夠得到高質(zhì)量的驗(yàn)證

工作沒(méi)有堆積尖奔,所有的瓶頸都已經(jīng)被處理好搭儒。

開(kāi)發(fā)團(tuán)隊(duì)沒(méi)有占用運(yùn)維團(tuán)隊(duì)的時(shí)間,因?yàn)椴渴鸷途S護(hù)都是處于同一個(gè)時(shí)間盒里面的提茁。

開(kāi)發(fā)團(tuán)隊(duì)不會(huì)在周五下午5點(diǎn)后把代碼交付進(jìn)行部署淹禾,剩下運(yùn)維團(tuán)隊(duì)周末加班加點(diǎn)來(lái)給他們擦屁股

開(kāi)發(fā)環(huán)境標(biāo)準(zhǔn)化,運(yùn)維人員可以很容易將之?dāng)U展并進(jìn)行部署

開(kāi)發(fā)團(tuán)隊(duì)可以找到合適的方式交付新版本甘凭,且運(yùn)維團(tuán)隊(duì)可以輕易的進(jìn)行部署稀拐。

每個(gè)團(tuán)隊(duì)之間的通信線路都很明確

所有的團(tuán)隊(duì)成員都有時(shí)間去為改善系統(tǒng)進(jìn)行試驗(yàn)和實(shí)踐

常規(guī)性的引入(或者模擬)缺陷到系統(tǒng)中來(lái)并得到處理。每次學(xué)習(xí)到的經(jīng)驗(yàn)都應(yīng)該文檔化下來(lái)并分享給相關(guān)人員丹弱。事故處理成為日常工作的一部分,且處理方式是已知的

總結(jié)

使用現(xiàn)代化的DevOps工具铲咨,如Chef躲胳、Docker、Ansible纤勒、Packer坯苹、Troposphere、Consul摇天、Jenkins粹湃、SonarQube、AWS等泉坐,并不代表你就在正確的應(yīng)用DevOps的原則为鳄。DevOps是一種思維方式。我們所有人都是該系統(tǒng)流程的一部分腕让,我們一起分享共同的時(shí)光和交付價(jià)值孤钦。每個(gè)參加到這個(gè)軟件交付流程上來(lái)的成員都能夠加速或減緩整個(gè)系統(tǒng)的運(yùn)作速度。系統(tǒng)出現(xiàn)的一個(gè)缺陷,以及錯(cuò)誤配置的團(tuán)隊(duì)之間的“防火墻”偏形,都可能會(huì)使得整個(gè)系統(tǒng)癱瘓静袖,

所有的人都是DevOps的一部分,一旦你的組織明白了這一點(diǎn)俊扭,能夠幫你管理好這些的工具和技術(shù)棧就自然而然的會(huì)出現(xiàn)在你眼前了队橙。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市萨惑,隨后出現(xiàn)的幾起案子捐康,更是在濱河造成了極大的恐慌,老刑警劉巖咒钟,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件吹由,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡朱嘴,警方通過(guò)查閱死者的電腦和手機(jī)倾鲫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)萍嬉,“玉大人乌昔,你說(shuō)我怎么就攤上這事∪雷罚” “怎么了磕道?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)行冰。 經(jīng)常有香客問(wèn)我溺蕉,道長(zhǎng),這世上最難降的妖魔是什么悼做? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任疯特,我火速辦了婚禮,結(jié)果婚禮上肛走,老公的妹妹穿的比我還像新娘漓雅。我一直安慰自己,他們只是感情好朽色,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布邻吞。 她就那樣靜靜地躺著,像睡著了一般葫男。 火紅的嫁衣襯著肌膚如雪抱冷。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,370評(píng)論 1 302
  • 那天腾誉,我揣著相機(jī)與錄音徘层,去河邊找鬼峻呕。 笑死,一個(gè)胖子當(dāng)著我的面吹牛趣效,可吹牛的內(nèi)容都是我干的瘦癌。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼跷敬,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼讯私!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起西傀,我...
    開(kāi)封第一講書(shū)人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤斤寇,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后拥褂,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體娘锁,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年饺鹃,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了莫秆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡悔详,死狀恐怖镊屎,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情茄螃,我是刑警寧澤缝驳,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站归苍,受9級(jí)特大地震影響用狱,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜拼弃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一齿拂、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧肴敛,春花似錦、人聲如沸吗购。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)捻勉。三九已至镀梭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間踱启,已是汗流浹背报账。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工研底, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人透罢。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓榜晦,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親羽圃。 傳聞我的和親對(duì)象是個(gè)殘疾皇子乾胶,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

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