如何評(píng)估Kubernetes持久化存儲(chǔ)方案

張文濤?Docker

在2018年的Garnter技術(shù)成熟度曲線中鸣剪,容器存儲(chǔ)出現(xiàn)在了技術(shù)觸發(fā)期组底,已經(jīng)開(kāi)始進(jìn)入大眾的視野丈积。我相信,在未來(lái)的兩年內(nèi)债鸡,容器存儲(chǔ)會(huì)隨著Kubernetes的進(jìn)一步成熟和商業(yè)化江滨,其地位會(huì)越來(lái)越重要。如何在五花八門(mén)的存儲(chǔ)產(chǎn)品中厌均,選擇適合自己的一款牙寞,將會(huì)是IT大佬們必須要面對(duì)的問(wèn)題。本文將會(huì)從使用場(chǎng)景角度分析莫秆,如何評(píng)估容器存儲(chǔ)方案间雀。

五花八門(mén)的存儲(chǔ)概念

從用戶角度看,存儲(chǔ)就是一塊盤(pán)或者一個(gè)目錄镊屎,用戶不關(guān)心盤(pán)或者目錄如何實(shí)現(xiàn)惹挟,用戶要求非常“簡(jiǎn)單”缝驳,就是穩(wěn)定连锯,性能好。為了能夠提供穩(wěn)定可靠的存儲(chǔ)產(chǎn)品用狱,各個(gè)廠家推出了各種各樣的存儲(chǔ)技術(shù)和概念运怖。為了能夠讓大家有一個(gè)整體認(rèn)識(shí),本文先介紹存儲(chǔ)中的這些概念夏伊。

從存儲(chǔ)介質(zhì)角度摇展,存儲(chǔ)介質(zhì)分為機(jī)械硬盤(pán)和固態(tài)硬盤(pán)(SSD)。機(jī)械硬盤(pán)泛指采用磁頭尋址的磁盤(pán)設(shè)備溺忧,包括SATA硬盤(pán)和SAS硬盤(pán)咏连。由于采用磁頭尋址,機(jī)械硬盤(pán)性能一般鲁森,隨機(jī)IOPS一般在200左右祟滴,順序帶寬在150MB/s左右。固態(tài)硬盤(pán)是指采用Flash/DRAM芯片+控制器組成的設(shè)備歌溉,根據(jù)協(xié)議的不同垄懂,又分為SATA SSD,SAS SSD痛垛,PCIe SSD和NVMe SSD草慧。

從產(chǎn)品定義角度,存儲(chǔ)分為本地存儲(chǔ)(DAS)榜晦,網(wǎng)絡(luò)存儲(chǔ)(NAS)冠蒋,存儲(chǔ)局域網(wǎng)(SAN)和軟件定義存儲(chǔ)(SDS)四大類。

DAS就是本地盤(pán)乾胶,直接插到服務(wù)器上

NAS是指提供NFS協(xié)議的NAS設(shè)備抖剿,通常采用磁盤(pán)陣列+協(xié)議網(wǎng)關(guān)的方式

SAN跟NAS類似,提供SCSI/iSCSI協(xié)議识窿,后端是磁盤(pán)陣列

SDS是一種泛指斩郎,包括分布式NAS(并行文件系統(tǒng)),ServerSAN等

從應(yīng)用場(chǎng)景角度喻频,存儲(chǔ)分為文件存儲(chǔ)(Posix/MPI)缩宜,塊存儲(chǔ)(iSCSI/Qemu)和對(duì)象存儲(chǔ)(S3/Swift)三大類。

Kubernetes是如何給存儲(chǔ)定義和分類呢甥温?Kubernetes中跟存儲(chǔ)相關(guān)的概念有PersistentVolume (PV)和PersistentVolumeClaim(PVC)锻煌,PV又分為靜態(tài)PV和動(dòng)態(tài)PV。靜態(tài)PV方式如下:

動(dòng)態(tài)PV需要引入StorageClass的概念姻蚓,使用方式如下:

社區(qū)列舉出PersistentVolume的in-tree Plugin宋梧,如下圖所示。從圖中可以看到狰挡,Kubernetes通過(guò)訪問(wèn)模式給存儲(chǔ)分為三大類捂龄,RWO/ROX/RWX。這種分類將原有的存儲(chǔ)概念混淆加叁,其中包含存儲(chǔ)協(xié)議倦沧,存儲(chǔ)開(kāi)源產(chǎn)品,存儲(chǔ)商業(yè)產(chǎn)品它匕,公有云存儲(chǔ)產(chǎn)品等等展融。

如何將Kubernetes中的分類和熟知的存儲(chǔ)概念對(duì)應(yīng)起來(lái)呢?本文選擇將其和應(yīng)用場(chǎng)景進(jìn)行類比豫柬。

塊存儲(chǔ)通常只支持RWO愈污,比如AWSElasticBlockStore,AzureDisk轮傍,有些產(chǎn)品能做到支持ROX暂雹,比如GCEPersistentDisk,RBD创夜,ScaleIO等

文件存儲(chǔ)(分布式文件系統(tǒng))支持RWO/ROX/RWX三種模式杭跪,比如CephFS,GlusterFS和AzureFile

對(duì)象存儲(chǔ)不需要PV/PVC來(lái)做資源抽象驰吓,應(yīng)用可以直接訪問(wèn)和使用

這里不得不吐槽Kubernetes社區(qū)前期對(duì)存儲(chǔ)層的抽象涧尿,一個(gè)字——亂,把開(kāi)源項(xiàng)目和商業(yè)項(xiàng)目都納入進(jìn)來(lái)∶史。現(xiàn)在社區(qū)已經(jīng)意識(shí)到問(wèn)題并設(shè)計(jì)了統(tǒng)一的存儲(chǔ)接口層——Flexvolume/CSI姑廉。目前來(lái)看,CSI將會(huì)是Kubernetes的主流翁涤,做了完整的存儲(chǔ)抽象層桥言。

多種多樣的應(yīng)用場(chǎng)景

介紹完存儲(chǔ)概念之后萌踱,選擇哪種存儲(chǔ)仍然懸而未決。這個(gè)時(shí)候号阿,請(qǐng)問(wèn)自己一個(gè)問(wèn)題并鸵,業(yè)務(wù)是什么類型?選擇合適的存儲(chǔ)扔涧,一定要清楚自己的業(yè)務(wù)對(duì)存儲(chǔ)的需求园担。本文整理了使用容器存儲(chǔ)的場(chǎng)景及其特點(diǎn)。

配置

無(wú)論集群配置信息還是應(yīng)用配置信息枯夜,其特點(diǎn)是并發(fā)訪問(wèn)弯汰,也就是前邊提到的ROX/RWX,在不同集群或者不同節(jié)點(diǎn)湖雹,都能夠訪問(wèn)同樣的配置文件咏闪,分布式文件存儲(chǔ)是最優(yōu)選擇。

日志

在容器場(chǎng)景中劝枣,日志是很重要的一部分內(nèi)容汤踏,其特點(diǎn)是高吞吐,有可能會(huì)產(chǎn)生大量小文件舔腾。如果有日志分析場(chǎng)景溪胶,還會(huì)有大量并發(fā)讀操作。分布式文件存儲(chǔ)是最優(yōu)選擇稳诚。

應(yīng)用(數(shù)據(jù)庫(kù)/消息隊(duì)列/大數(shù)據(jù))

Kafka哗脖,MySQL,Cassandra扳还,PostgreSQL才避,ElasticSearch,HDFS等應(yīng)用氨距,本身具備了存儲(chǔ)數(shù)據(jù)的能力桑逝,對(duì)底層存儲(chǔ)的要求就是高IOPS,低延遲俏让。底層存儲(chǔ)最好有數(shù)據(jù)冗余機(jī)制楞遏,上層應(yīng)用就可以避免復(fù)雜的故障和恢復(fù)處理。以HDFS為例首昔,當(dāng)某個(gè)datanode節(jié)點(diǎn)掉線后寡喝,原有邏輯中,會(huì)選擇啟動(dòng)新的datanode勒奇,觸發(fā)恢復(fù)邏輯预鬓,完成數(shù)據(jù)副本補(bǔ)全,這段時(shí)間會(huì)比較長(zhǎng)赊颠,而且對(duì)業(yè)務(wù)影響也比較大格二。如果底層存儲(chǔ)有副本機(jī)制劈彪,HDFS集群就可以設(shè)置為單副本,datanode節(jié)點(diǎn)掉線后蟋定,啟動(dòng)新的datanode粉臊,掛載原有的pv草添,集群恢復(fù)正常驶兜,對(duì)業(yè)務(wù)的影響縮短為秒級(jí)。高性能分布式文件存儲(chǔ)和高性能分布式塊存儲(chǔ)是最優(yōu)選擇远寸。

備份

應(yīng)用數(shù)據(jù)的備份或者數(shù)據(jù)庫(kù)的備份抄淑,其特點(diǎn)是高吞吐,數(shù)據(jù)量大驰后,低成本肆资。文件存儲(chǔ)和對(duì)象存儲(chǔ)最優(yōu)。

綜合應(yīng)用場(chǎng)景灶芝,高性能文件存儲(chǔ)是最優(yōu)選擇郑原。

形形色色的存儲(chǔ)產(chǎn)品

市面上的存儲(chǔ)產(chǎn)品種類繁多,但是對(duì)于容器場(chǎng)景夜涕,主要集中在4種方案:分布式文件存儲(chǔ)犯犁,分布式塊存儲(chǔ),Local-Disk和傳統(tǒng)NAS女器。

分布式塊存儲(chǔ)包括開(kāi)源社區(qū)的Ceph酸役,Sheepdog,商業(yè)產(chǎn)品中EMC的Scale IO驾胆,Vmware的vSAN等涣澡。分布式塊存儲(chǔ)不適合容器場(chǎng)景,關(guān)鍵問(wèn)題是缺失RWX的特性丧诺。

分布式文件存儲(chǔ)包括開(kāi)源社區(qū)的Glusterfs入桂,Cephfs,Lustre驳阎,Moosefs抗愁,Lizardfs,商業(yè)產(chǎn)品中EMC的isilon搞隐,IBM的GPFS等驹愚。分布式文件存儲(chǔ)適合容器場(chǎng)景,但是性能問(wèn)題比較突出劣纲,主要集中在GlusterFS逢捺,CephFS,MooseFS/LizardFS癞季。

這里簡(jiǎn)單對(duì)比下開(kāi)源項(xiàng)目的優(yōu)缺點(diǎn)劫瞳,僅供參考倘潜。

Local-Disk方案有明顯的缺點(diǎn),尤其是針對(duì)數(shù)據(jù)庫(kù)志于,大數(shù)據(jù)類的應(yīng)用涮因。節(jié)點(diǎn)故障后,數(shù)據(jù)的恢復(fù)時(shí)間長(zhǎng)伺绽,對(duì)業(yè)務(wù)影響范圍廣养泡。

傳統(tǒng)NAS也是一種文件存儲(chǔ),但是協(xié)議網(wǎng)關(guān)(機(jī)頭)是性能瓶頸奈应,傳統(tǒng)NAS已經(jīng)跟不上時(shí)代發(fā)展的潮流澜掩。

分門(mén)別類的評(píng)估策略

存儲(chǔ)的核心需求是穩(wěn)定,可靠杖挣,可用肩榕。無(wú)論是開(kāi)源的存儲(chǔ)項(xiàng)目還是商業(yè)的存儲(chǔ)產(chǎn)品,評(píng)估方法具有普適性惩妇,本文會(huì)介紹常見(jiàn)的評(píng)估項(xiàng)和評(píng)估方法株汉。

數(shù)據(jù)可靠性

數(shù)據(jù)可靠性是指數(shù)據(jù)不丟失的概率。通常情況下歌殃,存儲(chǔ)產(chǎn)品會(huì)給出幾個(gè)9的數(shù)據(jù)可靠性乔妈,或者給出最多允許故障盤(pán)/節(jié)點(diǎn)個(gè)數(shù)。評(píng)估方式就是暴力拔盤(pán)挺份,比如說(shuō)存儲(chǔ)提供3副本策略褒翰,拔任意2塊盤(pán),只要數(shù)據(jù)不損壞匀泊,說(shuō)明可靠性沒(méi)問(wèn)題优训。存儲(chǔ)采用不同的數(shù)據(jù)冗余策略,提供的可靠性是不一樣的各聘。

數(shù)據(jù)可用性

數(shù)據(jù)可用性和數(shù)據(jù)可靠性很容易被混淆揣非,可用性指的是數(shù)據(jù)是否在線。比如存儲(chǔ)集群斷電躲因,這段時(shí)間數(shù)據(jù)是不在線早敬,但是數(shù)據(jù)沒(méi)有丟失,集群恢復(fù)正常后大脉,數(shù)據(jù)可以正常訪問(wèn)搞监。評(píng)估可用性的主要方式是拔服務(wù)器電源,再有查看存儲(chǔ)的部署組件是否有單點(diǎn)故障的可能镰矿。

數(shù)據(jù)一致性

數(shù)據(jù)一致性是最難評(píng)估的一項(xiàng)琐驴,因?yàn)榇蟛糠謭?chǎng)景用戶不知道程序?qū)懥四男?shù)據(jù),寫(xiě)到了哪里。該如何評(píng)估數(shù)據(jù)一致性呢绝淡?普通的測(cè)試工具可以采用fio開(kāi)啟crc校驗(yàn)選項(xiàng)宙刘,最好的測(cè)試工具就是數(shù)據(jù)庫(kù)。如果發(fā)生了數(shù)據(jù)不一致的情況牢酵,數(shù)據(jù)庫(kù)要么起不來(lái)悬包,要么表數(shù)據(jù)不對(duì)。具體的測(cè)試用例還要細(xì)細(xì)斟酌馍乙。

存儲(chǔ)性能

存儲(chǔ)的性能測(cè)試很有講究布近,塊存儲(chǔ)和文件存儲(chǔ)的側(cè)重點(diǎn)也不一樣。

塊存儲(chǔ)

fio/iozone是兩個(gè)典型的測(cè)試工具潘拨,重點(diǎn)測(cè)試IOPS吊输,延遲和帶寬饶号。以fio為例铁追,測(cè)試命令如下:

fio -filename=/dev/sdc -iodepth=${iodepth} -direct=1 -bs=${bs} -size=100% --rw=${iotype} -thread -time_based -runtime=600 -ioengine=${ioengine} -group_reporting -name=fioTest

關(guān)注幾個(gè)主要參數(shù):iodepth,bs茫船,rw和ioengine琅束。

測(cè)試IOPS,iodepth=32/64/128算谈,bs=4k/8k涩禀,rw=randread/randwrite,ioengine=libaio

測(cè)試延遲然眼,iodepth=1艾船,bs=4k/8k,rw=randread/randwrite高每,ioengine=sync

測(cè)試帶寬屿岂,iodepth=32/64/128,bs=512k/1m鲸匿,rw=read/write爷怀,ioengine=libaio

文件存儲(chǔ)

fio/vdbench/mdtest是測(cè)試文件系統(tǒng)常用的工具,fio/vdbench用來(lái)評(píng)估IOPS带欢,延遲和帶寬运授,mdtest評(píng)估文件系統(tǒng)元數(shù)據(jù)性能。以fio和mdtest為例乔煞,測(cè)試命令如下:

fio -filename=/mnt/yrfs/fio.test -iodepth=1 -direct=1 -bs=${bs} -size=500G --rw=${iotype} -numjobs=${numjobs} -time_based -runtime=600 -ioengine=sync -group_reporting -name=fioTest

與塊存儲(chǔ)的測(cè)試參數(shù)有一個(gè)很大區(qū)別吁朦,就是ioengine都是用的sync,用numjobs替換iodepth渡贾。

測(cè)試IOPS逗宜,bs=4k/8k,rw=randread/randwrite,numjobs=32/64

測(cè)試延遲锦溪,bs=4k/8k不脯,rw=randread/randwrite,numjobs=1

測(cè)試帶寬刻诊,bs=512k/1m防楷,rw=read/write,numjobs=32/64

mdtest是專門(mén)針對(duì)文件系統(tǒng)元數(shù)據(jù)性能的測(cè)試工具则涯,主要測(cè)試指標(biāo)是creation和stat复局,需要采用mpirun并發(fā)測(cè)試:

mpirun --allow-run-as-root -mca btl_openib_allow_ib 1 -host yanrong-node0:${slots},yanrong-node1:${slots},yanrong-node2:${slots} -np ${num_procs} mdtest -C -T -d /mnt/yrfs/mdtest -i 1 -I ${files_per_dir} -z 2 -b 8 -L -F -r -u

存儲(chǔ)性能測(cè)試不僅僅測(cè)試集群正常場(chǎng)景下的指標(biāo),還要包含其他場(chǎng)景:

存儲(chǔ)容量在70%以上或者文件數(shù)量上億的性能指標(biāo)

節(jié)點(diǎn)/磁盤(pán)故障后的性能指標(biāo)

擴(kuò)容過(guò)程時(shí)的性能指標(biāo)

容器存儲(chǔ)功能

除了存儲(chǔ)的核心功能(高可靠/高可用/高性能)粟判,對(duì)于容器存儲(chǔ)亿昏,還需要幾個(gè)額外的功能保證生產(chǎn)環(huán)境的穩(wěn)定可用。

Flexvolume/CSI接口的支持档礁,動(dòng)態(tài)/靜態(tài)PV的支持

存儲(chǔ)配額角钩。對(duì)于Kubernetes的管理員來(lái)說(shuō),存儲(chǔ)的配額是必須的呻澜,否則存儲(chǔ)的使用空間會(huì)處于不可控狀態(tài)

服務(wù)質(zhì)量(QoS)递礼。如果沒(méi)有QoS,存儲(chǔ)管理員只能期望存儲(chǔ)提供其他監(jiān)控指標(biāo)羹幸,以保證在集群超負(fù)荷時(shí)脊髓,找出罪魁禍?zhǔn)?/p>

萬(wàn)變不離其宗的選擇

Kubernetes持久化存儲(chǔ)方案的重點(diǎn)在存儲(chǔ)和容器支持上。因此首要考慮存儲(chǔ)的核心功能和容器的場(chǎng)景支持栅受。綜合本文所述将硝,將選擇項(xiàng)按優(yōu)先級(jí)列舉:

存儲(chǔ)的三大核心,高可靠屏镊,高可用和高性能

業(yè)務(wù)場(chǎng)景依疼,選擇分布式文件存儲(chǔ)

擴(kuò)展性,存儲(chǔ)能橫向擴(kuò)展闸衫,應(yīng)對(duì)業(yè)務(wù)增長(zhǎng)需求

可運(yùn)維性涛贯,存儲(chǔ)的運(yùn)維難度不亞于存儲(chǔ)的開(kāi)發(fā),選擇運(yùn)維便捷存儲(chǔ)產(chǎn)品

成本

Q&A

Q:你好蔚出,我們公司采用GlusterFS存儲(chǔ)弟翘,掛載三塊盤(pán),現(xiàn)在遇到高并發(fā)寫(xiě)小文件(4KB)吞吐量上不去(5MB/S)骄酗,請(qǐng)問(wèn)有什么比較好的監(jiān)控工具或方法么稀余?謝謝!

A:GlusterFS本身對(duì)小文件就很不友好趋翻,GlusterFS是針對(duì)備份場(chǎng)景設(shè)計(jì)的睛琳,不建議用在小文件場(chǎng)景,如果可以的話,要么程序做優(yōu)化進(jìn)行小文件合并师骗,要么選用高性能的分布式文件存儲(chǔ)历等,建議看看Lustre或者YRCloudFile。

Q:你好辟癌,目前開(kāi)源在用Rook部署Ceph寒屯,Ceph對(duì)于塊設(shè)備存儲(chǔ)性能如何?可以提升嗎黍少?未來(lái)寡夹?

A:我們最近也在關(guān)注Rook項(xiàng)目,Rook的理念是很好的厂置,但是現(xiàn)在Rook就是Ceph的封裝菩掏,把Ceph跑到容器中,復(fù)用Kubernetes的監(jiān)控平臺(tái)昵济。而Ceph的運(yùn)維復(fù)雜度很高智绸,以目前的做法,項(xiàng)目想要做好砸紊,難度會(huì)非常大传于。

Q:我看您推薦分布式文件存儲(chǔ),文件系統(tǒng)能滿足數(shù)據(jù)庫(kù)應(yīng)用的需求嗎醉顽?塊存儲(chǔ)會(huì)不會(huì)好一些?

A:首先平挑,我推薦的是高性能分布式文件系統(tǒng)游添。數(shù)據(jù)庫(kù)一般對(duì)延遲都比較敏感,普通的萬(wàn)兆網(wǎng)絡(luò)+HDD肯定不行通熄,需要采用SSD唆涝,一般能將延遲穩(wěn)定在毫秒以內(nèi),通常能夠滿足要求唇辨。如果對(duì)延遲有特別要求廊酣,可以采用NVMe + RoCE的方案,即使在大壓力下赏枚,延遲也能穩(wěn)定在300微秒以內(nèi)亡驰。

Q:請(qǐng)問(wèn)為什么說(shuō)塊存儲(chǔ)不支持RWX?RWX就是指多個(gè)節(jié)點(diǎn)同時(shí)掛載同一塊塊設(shè)備并同時(shí)讀寫(xiě)嗎饿幅?很多FC存儲(chǔ)都可以做到凡辱。

A:傳統(tǒng)的SAN要支持RWX,需要ALUA機(jī)制栗恩,而且這是塊級(jí)別的多讀寫(xiě)透乾,如果要再加上文件系統(tǒng),是沒(méi)辦法做到的,這需要分布式文件系統(tǒng)來(lái)做文件元數(shù)據(jù)信息同步乳乌。

Q:請(qǐng)問(wèn)現(xiàn)在的Kubernetes環(huán)境下捧韵,海量小文件RWX場(chǎng)景,有什么相對(duì)比較好的開(kāi)源分布式存儲(chǔ)解決方案么汉操?

A:開(kāi)源的分布式文件存儲(chǔ)項(xiàng)目中纫版,沒(méi)有能解決海量小文件的,我在文中已經(jīng)將主流開(kāi)源文件系統(tǒng)都分析了一遍客情,在設(shè)計(jì)之初其弊,都是針對(duì)備份場(chǎng)景或者HPC領(lǐng)域。

Q:請(qǐng)問(wèn)膀斋,為什么說(shuō)Ceph性能不好梭伐,有依據(jù)嗎?

A:直接用數(shù)據(jù)說(shuō)話仰担,我們用NVMe + Ceph + Bluestore測(cè)試出來(lái)的糊识,延遲在毫秒級(jí)以上,而且很不穩(wěn)定摔蓝,我們用YRCloudFile + NVMe + RoCE赂苗,延遲能50微秒左右,差了幾十倍贮尉。

Q:Lustre沒(méi)接觸過(guò)拌滋,性能好嗎,和Ceph有對(duì)比過(guò)嗎猜谚?

A:網(wǎng)上有很多Lustre的性能指標(biāo)败砂,在同樣的配置下,性能絕對(duì)要比Ceph好魏铅,不過(guò)Lustre全部都是內(nèi)核態(tài)的昌犹,容器場(chǎng)景沒(méi)辦法用,而且按照部署以及運(yùn)維難度非常大览芳。Lustre在超算用的比較廣泛斜姥。

Q:Lustre只能靠本地磁盤(pán)陣列來(lái)保證數(shù)據(jù)冗余么?

A:Lustre本身不提供冗余機(jī)制沧竟,都是靠本地陣列的铸敏,不過(guò)EC好像已經(jīng)在開(kāi)發(fā)計(jì)劃中了。

Q:(對(duì)于小公司)如果不選用商業(yè)存儲(chǔ)屯仗,那么推薦哪款開(kāi)源實(shí)現(xiàn)作為生產(chǎn)存儲(chǔ)(可靠搞坝,高性能)。我們之前試了NFS發(fā)現(xiàn)速度不穩(wěn)定魁袜?

A:國(guó)內(nèi)還是有很多創(chuàng)業(yè)公司桩撮,也不貴的敦第。存儲(chǔ)不像其他項(xiàng)目,存儲(chǔ)經(jīng)不起折騰店量,一定要用穩(wěn)定可靠的芜果,Ceph/GlusterFS做了這么久,大家在采購(gòu)的時(shí)候融师,還是會(huì)依托于某家商業(yè)公司來(lái)做右钾,自己生產(chǎn)環(huán)境用開(kāi)源項(xiàng)目,風(fēng)險(xiǎn)太大了旱爆。

Q:GPFS用來(lái)做Kubernetes的PV舀射,性能怎么樣?

A:用GPFS的話怀伦,性能還是有一定保障的脆烟,不過(guò)GPFS跟Lustre一樣,都是帶著陣列一起賣的房待,很貴邢羔。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市桑孩,隨后出現(xiàn)的幾起案子拜鹤,更是在濱河造成了極大的恐慌,老刑警劉巖流椒,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件敏簿,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡镣隶,警方通過(guò)查閱死者的電腦和手機(jī)极谊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)安岂,“玉大人,你說(shuō)我怎么就攤上這事帆吻∮蚰牵” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵猜煮,是天一觀的道長(zhǎng)次员。 經(jīng)常有香客問(wèn)我,道長(zhǎng)王带,這世上最難降的妖魔是什么淑蔚? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮愕撰,結(jié)果婚禮上刹衫,老公的妹妹穿的比我還像新娘醋寝。我一直安慰自己,他們只是感情好带迟,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布音羞。 她就那樣靜靜地躺著,像睡著了一般仓犬。 火紅的嫁衣襯著肌膚如雪嗅绰。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 50,096評(píng)論 1 291
  • 那天搀继,我揣著相機(jī)與錄音窘面,去河邊找鬼。 笑死叽躯,一個(gè)胖子當(dāng)著我的面吹牛财边,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播险毁,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼制圈,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了畔况?” 一聲冷哼從身側(cè)響起鲸鹦,我...
    開(kāi)封第一講書(shū)人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎跷跪,沒(méi)想到半個(gè)月后馋嗜,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡吵瞻,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年葛菇,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片橡羞。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡眯停,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出卿泽,到底是詐尸還是另有隱情莺债,我是刑警寧澤,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布签夭,位于F島的核電站齐邦,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏第租。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一慎宾、第九天 我趴在偏房一處隱蔽的房頂上張望丐吓。 院中可真熱鬧浅悉,春花似錦、人聲如沸汰蜘。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)族操。三九已至苛坚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間色难,已是汗流浹背泼舱。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留枷莉,地道東北人娇昙。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像笤妙,于是被迫代替她去往敵國(guó)和親冒掌。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

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