由塔科马大桥事件 谈软件架构
由塔科馬大橋事件 談軟件架構(gòu)
?
??? 經(jīng)常,我們會涉及系統(tǒng)架構(gòu)、面向?qū)ο蟮募軜?gòu)(SOA)、軟件架構(gòu)等詞,那么到底什么是“架構(gòu)”?什么是“軟件架構(gòu)”?“系統(tǒng)架構(gòu)”與“軟件架構(gòu)”有著怎樣的區(qū)別和聯(lián)系?“系統(tǒng)架構(gòu)構(gòu)建”和“系統(tǒng)設(shè)計”之間有什么區(qū)別和聯(lián)系?
??? 本章帶著這些問題,追本溯源,對于架構(gòu)及軟件架構(gòu)的一些基本概念及發(fā)展歷程做一番說明。同時對一些人們認識上的誤區(qū)進行分析,以還原事物的真實面目。
?1.1? 引子
??? 時間就像一條奔騰不息的大河,大浪淘沙,方顯金石。翻開人類的建筑工程史,遍布世界各地,跨越幾千年的時空,我們可以看到許多輝煌成功的工程。但是,人們 往往最容易遺忘那些被歷史長河所淹沒的慘痛失敗。而實際上,人類建筑的偉大成就,就是建立在這一系列失敗的教訓之上。既然“失敗是成功之母”,那我們就以 一個有代表性的失敗工程,作為我們走向成功的基石和開始。這個慘痛的教訓,就是塔科馬大橋(Tacoma Narrows Bridge)。
如果您現(xiàn)在從西雅圖國際機場附近的塔科馬前往華盛頓州的奧林匹亞區(qū),在16號公路上有一條必經(jīng)之橋,它如同一道美麗的鋼架彩虹跨過了普及特海峽。這就是著名的塔科馬大橋。
??? 竣工于2007年的塔科馬大橋是目前世界上最長的懸索雙橋,橋長1600米,懸索跨度850米。這真可謂是一項令人贊嘆的偉大工程。但是,幾乎每一個橋梁 建筑設(shè)計人員都知道其大名的原因,并不是由于該橋像金門大橋那樣是橋梁史上最著名的大橋,而是由于其前身老塔科馬大橋(其綽號為Galloping Gertie)的倒坍,是橋梁史上最著名的失敗的緣故。
???? 老塔科馬大橋是普及特海峽上的第一座大橋,1938年11月開始建造,于1940年7月竣工,總耗資640萬美元,是當時世界第三長跨度的橋梁。因為先前 美國海軍考慮到附近海軍基地的需要,提供了部分建橋資金,并且舊金山金門大橋的設(shè)計者、著名的橋梁大師Joseph B. Strauss和Leon S. Moisseiff提供了設(shè)計咨詢意見。因此,老塔科馬大橋的竣工,使大橋成為了賓夕法尼亞州經(jīng)濟及軍事的重要門戶。它被當時的媒體和橋梁行業(yè)美喻為“人 類堅定不移的獨創(chuàng)精神的結(jié)晶”。
???? 然而,大橋建成后不久,駕車跨越大橋的人們就發(fā)現(xiàn)該橋會隨風不停地左右搖擺。雖然橋中心線保持了相對的穩(wěn)定,可是整個橋面兩側(cè)卻在上下起伏。這樣有趣的現(xiàn) 象竟吸引車輛排起了長隊,競相等待開上這座像醉漢一樣搖擺的索橋,去體會一下這奇妙的感覺。雖然橋梁設(shè)計師們也注意到了這樣的不穩(wěn)定現(xiàn)象,但是他們信誓旦 旦地保證“橋梁是安全的”。
但是事實畢竟讓某些相關(guān)人員開始有些擔心,所以從1940年7月底開始,在華盛頓大學教授F.B. Farquharson的指導下,他們開始對橋梁的這種奇特振動開始進行研究。他們拍攝了大量的照片和影片,記錄下了大橋的振動方式,并且在試驗室里開始 進行一定規(guī)模的試驗,試圖找到相應(yīng)的方法來有效地降低橋梁的振動。
??? 經(jīng)過Farquharson教授所帶領(lǐng)團隊的觀測和試驗,最初的解決辦法是在橋梁正中央的橋底部,安裝一些鋼纜,把這些鋼纜從橋底固定到地面。可是在施工 過程中,這些鋼纜在風力拉動橋梁的作用力下完全斷裂,施工沒能成功。隨后,試驗人員又給出了一系列其他相應(yīng)的固定橋梁的辦法。例如,在橋梁的側(cè)梁上鉆洞, 這樣可以減小風力對側(cè)梁的推拉力;或者在橋梁的側(cè)梁上安裝一些風力導流器,這樣可以減小陣風正面直接對側(cè)梁的推拉力。1940年11月初,橋梁的投資方最 終同意了這些加強措施,并且打算在接下來的幾周內(nèi)完成施工。
??? 遺憾的是,這樣的決定來得太遲了,風平浪靜的假象下暗流涌動,甚至連F.B. Farquharson教授帶領(lǐng)的團隊也始料不及。
??? 11月7日清晨,順著海峽吹來越來越強勁的大風,大橋開始了人們熟悉的搖擺和振蕩。橋上車輛和行人依舊穿梭往來,享受著一如既往的那份愜意的晃動。9點 45分,大風時速達到了68公里。橋面上下交替晃動,兩側(cè)落差急速增加,最大時達到一米多,整個橋面仿佛成了過山車回旋的軌道一樣。當時 Farquharson教授帶領(lǐng)的團隊正在橋面中央拍攝大橋晃動的場景,以便為即將開始的大橋風力導流工程提供設(shè)計數(shù)據(jù)。他們拍攝到了一位記者 Leonard Coatsworth正在駕車載著自己的愛犬Tubby非常緩慢而愜意地穿過大橋,一對夫婦也駕駛一輛小型貨車緊隨在記者的車后。教授拍攝的影片所記錄該 景象的時間是10點13分左右。
???? 10點14分,整個橋面的起伏急劇增加,兩側(cè)落差最大時達到兩米多。數(shù)千噸重的鋼鐵大橋仿佛變成了一條抖動的緞帶,長長的波浪式起伏飄蕩在整體橋面上。情 況還在繼續(xù)惡化,整個橋面開始無規(guī)則地扭曲在一起,給在場的人一種強烈的恐懼感。事后Leonard Coatsworth敘述說:“當我剛剛開過橋頭進入大橋時,大橋就開始瘋狂地上下左右晃動起來。我意識到必須馬上停車,否則轎車就會完全失去控制。我用 力緊急停車,打開車門。可以說我是被扔出車廂的。我看到車子被強烈的晃動推得左右搖擺,并且我開始聽到了水泥斷裂的可怕聲音……”Leonard Coatsworth的愛犬Tubby也緊隨著主人跳下了車,車后的那對夫婦也急忙跳下自己失控的卡車。這一切都被在現(xiàn)場拍攝的Farquharson教 授看到并且記錄在影片中。當教授和所有行人安全地回到橋頭時,他們看到巍然屹立的大橋突然斷裂!束縛整個橋梁的鋼纜完全崩斷!整個橋面轟然倒塌!龐大的橋 體拍落到下方普及特海峽的水面上。橋面上Leonard Coatsworth和那對夫婦的車子也仿佛電影中的慢鏡頭一樣,隨同橋體落入海峽。整個事件從發(fā)生到結(jié)束沒有超過兩分鐘。目睹整個過程的所有人都驚得目 瞪口呆。可憐的小狗Tubby也一同掉落進普及特海峽,成為這次事故的唯一遇難者,所幸沒有其他人員傷亡。
1?? 940年11月7日早上11點15分(美國太平洋時間),塔科馬大橋轟然倒塌,如圖1-4所示。后人稱之為“橋梁建筑史上的珍珠港”。對普及特海峽來說, 倒塌的大橋也成為了世界上最大的人造礁石之一。1940年11月28日,美國海軍的水文辦公室報告稱,橋梁遺骸的地理坐標是 (47.16'00"N,122.33'00"W),深度180英尺(55 m)。
??? 當人們從大橋的倒塌事件中回過神后,工程設(shè)計人員開始分析大橋被風“吹”斷的原因。
首 先,大橋的施工質(zhì)量是無可挑剔的:使用了高質(zhì)量的板型鋼材及性能穩(wěn)定的水泥,整個施工過程被嚴格監(jiān)督。整個橋梁是用板型碳鋼大梁堅實地支撐著,大梁被深深 地固定在巨大混凝土橋墩上。但可惜的是,這樣看似設(shè)計完美的懸鎖橋,卻忽略了一個重要的問題:由于風力帶來的共振和扭力。可以理解,當時的橋梁工程還沒有 總結(jié)出這樣的設(shè)計實踐。
??? 在塔科馬大橋之前,世界上其他的懸索橋大多采用具有開放式孔格結(jié)構(gòu)的大梁。這樣的大梁對風力的擾流效果很好,所以不會使風振的能量聚集。但是對于塔科馬大 橋這樣板型鋼質(zhì)大梁的新型懸索橋來說,板型設(shè)計結(jié)構(gòu)會把風力牽制在橋梁斷面上。這樣被牽制住的風力,會造成兩種的扭轉(zhuǎn)模式:共振模式和扭力模式。共振是一 種縱向的扭力,意味著振動力沿著橋梁的長度發(fā)生作用,塔科馬大橋也不例外。所以出現(xiàn)了以大橋中央為分界點,橋面順著橋長上下起伏的現(xiàn)象。這樣,司機會看見 對面開來的汽車有時會消失在跌宕起伏的橋谷中。
???? 但是,共振模式并不是導致橋梁坍塌的原因。當時的風速達到了每小時68公里,一旦風力達到這樣的強度,第二種扭轉(zhuǎn)模式“扭力模式”就開始作用于大橋。當時在坍塌現(xiàn)場的人們可以看到,橋上的路面出現(xiàn)了兩側(cè)路面交替上升、下降的現(xiàn)象。
??? 應(yīng)該這樣說,對所有橋梁設(shè)計來講,橋面與水面的長距離,造成了穿過橋梁的風力對橋梁本身的振動。因為當風吹向橋梁時,風力將分流繞過其橋梁斷面而形成周期 性交替的風流。周期性交替的風流繞過障礙物時會使橋身產(chǎn)生共振。當風速達到一定程度時,風力對橋梁這樣有明顯仰角的物體會產(chǎn)生強烈的扭力。周期性的共振加 上扭力累積到一定幅度時,就會引起橋梁的折斷。如果不能有效降低這種逐漸增大的振幅和扭力,橋梁的安全就難以得到保障。
??? 橋梁界最后給出的正式結(jié)論是震撼而有深遠借鑒意義的:“塔科馬大橋使用了嶄新而沒有經(jīng)過驗證的橋梁設(shè)計結(jié)構(gòu),使大橋建成后毀于風力造成的風振。”看來,正是由于橋梁設(shè)計(換成IT界的話來講,就是橋梁的架構(gòu))的原因,導致了這樣慘痛的工程失敗。
??? 理解塔科馬大橋事件的原因,可以說只有在嚴謹?shù)臄?shù)學分析下,結(jié)合空氣動力學和系統(tǒng)結(jié)構(gòu)學才能完全搞清楚。在以后的研究和工程實踐中,建筑結(jié)構(gòu)工程界和航空工程界借鑒塔科馬大橋的失敗經(jīng)驗,進一步完善了空氣動力學。這對以后研究解決橋梁的風振問題提供了很好的借鑒。
??? 自此以后,橋梁界專業(yè)人士開始認識到:為了解決風振,首先要避免由于橋梁結(jié)構(gòu)所累積的風力振動,而不是通過加強主梁或橋體的強度來抵抗風力。為了減少累積 的風振,可以運用具有開放的網(wǎng)格結(jié)構(gòu)使大梁和橋面的氣流順利通過,不致產(chǎn)生渦流和扭力的積累,這樣就大大減小了風振。
???? 故事是令人震撼的,背后的教訓也是深刻的。雖然后續(xù)橋梁工程實施的質(zhì)量無可挑剔,但正是橋梁設(shè)計使用了全新的架構(gòu),并且該架構(gòu)沒有經(jīng)過實踐的檢驗,從而導 致最終橋梁崩潰性災(zāi)難的發(fā)生。人類所有工程領(lǐng)域的進步都是建立在這樣一系列失敗的基礎(chǔ)之上,并逐漸走向成熟和成功。
總結(jié)
以上是生活随笔為你收集整理的由塔科马大桥事件 谈软件架构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PHP环境,放置系统盘的文件
- 下一篇: [reship]某类领导