?????????????????????? Led燈壞掉引發(fā)的思考
兩年前新買的房子裝修時(shí)候俘闯,為了以后不用頻繁的換燈泡大部分的光源都采用LED燈,led燈公認(rèn)的壽命比較長(zhǎng),包裝上都宣稱至少用10000小時(shí)奔垦。不曾想上周一個(gè)月黑風(fēng)高的晚上叠穆,我一個(gè)人在空蕩蕩的房間里看書(shū)少漆,為了節(jié)能環(huán)保家里只亮著一盞房間的吸頂led燈,一陣風(fēng)吃過(guò)瞬間燈滅了硼被,克服著心里的恐懼示损,抹黑過(guò)去重新開(kāi)關(guān)了下燈結(jié)果證實(shí)燈壞了。
還好裝修的時(shí)候留一手嚷硫,我打開(kāi)了備用的日關(guān)燈屎媳。說(shuō)好的10000小時(shí)呢,心里萬(wàn)馬奔騰论巍,我拿了把椅子,卸下了led燈罩(藍(lán)翔學(xué)校必備技能)發(fā)現(xiàn)led燈還能發(fā)出微弱的光,于是我就斷定led燈的整流器壞了卸下來(lái)风响,等到周末帶著整流器就出門(mén)找店家買了嘉汰。一路波折要么沒(méi)有,要么都和led燈片一起賣的状勤。大約逛了5-6家鞋怀,一個(gè)好心的老板提醒了我:‘’小伙子,這個(gè)東西一般都不會(huì)壞持搜,肯定是led燈片或者線路壞了密似。又找了幾家都沒(méi)法測(cè)試我的整流器是否壞掉。做水電的二個(gè)提醒我說(shuō):“回家直接把客房那個(gè)拆下來(lái)接上這個(gè)看看就知道了葫盼,于是乎我測(cè)試出來(lái)了是led板子壞了残腌。出去買了個(gè)帶整流器的led燈板(捆綁銷售不單賣)換上終于解決了。耗了大半天的時(shí)間做了一堆無(wú)用功贫导,換下來(lái)的led燈板我仔細(xì)觀察表明并沒(méi)有燒掉的痕跡抛猫,通電后有微弱的關(guān)說(shuō)明led燈主體沒(méi)壞。上網(wǎng)搜索發(fā)現(xiàn)led燈只接上火線的時(shí)候會(huì)發(fā)微弱的光孩灯。于是我就仔細(xì)的觀察電路闺金,電路板很簡(jiǎn)單所有的燈泡以下面的形式串接
仔細(xì)觀察發(fā)現(xiàn)有一組燈泡的兩個(gè)里面有一個(gè)完全不亮,輕按后整個(gè)線路都在閃峰档,于是我找了個(gè)東西按住這個(gè)燈败匹,接電后除了這組的第二個(gè)燈全部都亮起來(lái)了。用東西固定住這個(gè)燈后讥巡,led燈重新恢復(fù)了活力掀亩。老婆夸我果然不愧是藍(lán)翔畢業(yè)的。
晚上躺在床上回想整件事情的經(jīng)過(guò)尚卫,發(fā)現(xiàn)很多事情原理都有互通之處归榕,大致歸納以下幾點(diǎn):
留一手:(注重備份)
無(wú)論是日常生活,還是架構(gòu)設(shè)計(jì)吱涉,備份的設(shè)計(jì)顯的尤為重要刹泄,通俗的場(chǎng)景你在上廁所的時(shí)候才發(fā)現(xiàn)沒(méi)紙是一件多么痛苦的事情外里。工作上的情景更加比比皆是,前段時(shí)間公司的內(nèi)部環(huán)境全部使用vm虛擬機(jī)集群搭建特石,公司沒(méi)有郵件系統(tǒng)盅蝗,于是我就提議搭建個(gè)郵件系統(tǒng),之前沒(méi)有自己搭建的經(jīng)歷姆蘸,于是各種查資料墩莫,花了九牛二虎之力用postfix+dovecot搭建起來(lái)了郵件服務(wù)器。為了管理方便我又搭設(shè)了postfixadmin逞敷。正打算試用推廣的時(shí)候沒(méi)想到虛擬機(jī)集群重啟后異常狂秦,我的郵件服務(wù)器掛了起不來(lái)了。搭建的過(guò)程沒(méi)想過(guò)備份問(wèn)題推捐,導(dǎo)致虛擬機(jī)掛掉無(wú)法重啟之后我的所有的工作付諸一炬裂问。只能硬著頭皮重新開(kāi)始了搭建工作,還好搭建的過(guò)程資料有保存牛柒,于是我又花了一些時(shí)間把郵件服務(wù)器重新搭建起來(lái)了堪簿。這次我再虛擬機(jī)上做了鏡像。同時(shí)皮壁,為了防止集群性的故障事件我又把搭建好的軟件和數(shù)據(jù)庫(kù)表結(jié)構(gòu)全部備份到我的工作機(jī)上椭更。根據(jù)墨菲定律,可能發(fā)生的事情一定會(huì)發(fā)生蛾魄。果然升級(jí)內(nèi)存的時(shí)候多次重啟集群虑瀑,集群的大部分虛擬機(jī)掛掉,文件丟失畏腕。還好郵件服務(wù)器有備份集群恢復(fù)后用了大概1小時(shí)時(shí)間恢復(fù)了我的服務(wù)缴川。
找痛點(diǎn)(發(fā)現(xiàn)問(wèn)題根源)
問(wèn)題發(fā)生之后,需要確認(rèn)問(wèn)題的所在描馅,只根據(jù)表面現(xiàn)象很容易被迷惑把夸,找錯(cuò)方向浪費(fèi)了解決問(wèn)題,恢復(fù)原狀的寶貴時(shí)間铭污。由于我根據(jù)自己的初步觀察就斷定了是整流器的故障導(dǎo)致浪費(fèi)半天時(shí)間跑了5-6家店差點(diǎn)還買了實(shí)際沒(méi)有壞的整流器恋日。可見(jiàn)沒(méi)有找到痛點(diǎn)會(huì)在時(shí)間和金錢(qián)上都有極大的浪費(fèi)嘹狞。我不禁聯(lián)想到之前做某個(gè)游戲業(yè)務(wù)的時(shí)候岂膳,有一次版本發(fā)布不久發(fā)生了一個(gè)故障,用戶登入后頻繁掉線磅网√附兀看服務(wù)器端的負(fù)載和網(wǎng)絡(luò)情況都正常,自己登入客戶端查看,也發(fā)生了同樣的故障簸喂,查看網(wǎng)絡(luò)毙死,ping值和網(wǎng)絡(luò)延時(shí)都正常,同機(jī)房機(jī)架的其他業(yè)務(wù)沒(méi)有任何問(wèn)題喻鳄,idc的監(jiān)控測(cè)試也顯示網(wǎng)絡(luò)情況正常扼倘。服務(wù)端抓包發(fā)現(xiàn)收到的消息是服務(wù)端在三次握手后就沒(méi)有收到來(lái)自客戶端的消息導(dǎo)致超時(shí)連接退出。于是依照以往的經(jīng)驗(yàn)判斷是網(wǎng)絡(luò)鏈路或者反外掛加殼導(dǎo)致的問(wèn)題除呵。于是就找網(wǎng)絡(luò)平臺(tái)的人以及反外掛的人一起排查問(wèn)題再菊,時(shí)間轉(zhuǎn)瞬即逝用戶的情緒越來(lái)越激動(dòng),反復(fù)的修改維護(hù)公告颜曾,論壇已經(jīng)一片罵聲纠拔。結(jié)果兩邊排查都沒(méi)有問(wèn)題,找服務(wù)端客戶端重新抓包梳理財(cái)發(fā)現(xiàn)是程序的bug導(dǎo)致任務(wù)包的邏輯有問(wèn)題導(dǎo)致的客戶端無(wú)法正常連接或者頻繁退出泛豪。歷時(shí)3個(gè)小時(shí)才解決了這個(gè)問(wèn)題绿语。沒(méi)有找到痛點(diǎn)永遠(yuǎn)也只能在做無(wú)用功費(fèi)事費(fèi)力,就像現(xiàn)在人人都在談敏捷候址,如果沒(méi)有依據(jù)各個(gè)崗位各個(gè)公司的具體情況盲目套用只能是費(fèi)事費(fèi)力而且效果往往差強(qiáng)人意,很多以失敗告終种柑。
雙機(jī)熱備就夠了嗎岗仑?(架構(gòu)設(shè)計(jì)中的單點(diǎn)消除)
我們看前一個(gè)led燈片實(shí)際上也做了雙機(jī)熱備,可是每一個(gè)設(shè)備其實(shí)都是一個(gè)故障點(diǎn)聚请,每組的燈實(shí)際上是線路上的單點(diǎn)荠雕。后面我買了新的led光源就考慮到了這一點(diǎn),所有的燈都以并聯(lián)的方式進(jìn)行連接避免了架構(gòu)上的耦合性
我們?cè)谧黾軜?gòu)設(shè)計(jì)的時(shí)候驶赏,除了要考慮雙機(jī)熱備以外還要考慮冷熱備結(jié)合炸卑,以及物理機(jī)房機(jī)架的分離,架構(gòu)上盡量消除耦合性煤傍,減少單模塊的故障引起的其他模塊的異常盖文。
細(xì)節(jié)決定成敗
觀察故障的led燈片以及新買的燈片我發(fā)現(xiàn)故障的燈片上的焊接點(diǎn)形狀大小相去甚遠(yuǎn),制作工藝上有很大的差別蚯姆,導(dǎo)致led光源還沒(méi)壞的時(shí)候焊點(diǎn)就接觸不良了五续。另外在架構(gòu)設(shè)計(jì)的時(shí)候考慮的不周,才導(dǎo)致局部的異常整體掛掉龄恋。有時(shí)候我們追求效率的時(shí)候很容易忽略質(zhì)量疙驾,導(dǎo)致后面要么引發(fā)故障,要么返工重來(lái)郭毕,坑了自己也坑了別人它碎。特別是一些維護(hù)或者發(fā)布的操作,手一抖就容易引發(fā)慘重的問(wèn)題。追求效率更多的是從工具的源頭的優(yōu)化扳肛,而不是犧牲質(zhì)量的情況下盲目追求傻挂。