999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

軟件架構設計面臨新挑戰

2010-12-31 00:00:00縱放
計算機世界 2010年7期

應用場景的不可預測,海量的數據處理,云計算、虛擬化等新技術的應用,這些都給應用軟件的架構設計帶來了相當嚴峻的挑戰。

IT運行環境正在發生激烈的變化。一方面,由于互聯網的普及、Web 2.0的流行以及虛擬化、云計算等技術的出現使得軟件所要面對的環境日益復雜,不僅要面對種類更多的數據源,同時也要求軟件能支持動態的配置和重組; 而另一方面,IT的普及帶來了數據量的劇增,根據IDC的研究,未來5年,企業的結構化數據每年會保持20%的增長,而非結構化數據量的增加則高達60%。數據量急劇增加的一個必然后果是軟件越來越大,也越來越復雜。

越來越多的數據、支持更復雜的數據源、軟件能自動配置和重組等這些要求最終都需要更靈活和可靠的軟件架構來實現,而傳統的軟件架構顯然難以適應新的IT環境。實際上,以前我們設計應用軟件架構的前提如今都已經發生了改變,因而軟件的架構也需要改變,特別是考慮云計算在未來5年內的普及,我們的軟件必須為云計算而設計。

IT成為業務的支柱

過去,IT主要用于完成一些可重復的業務流程的自動化,比如讀取某個報表中的數據并對此進行計算。ERP算得上是IT最典型的應用方式,它實現了訂單、記賬和庫存跟蹤的自動化,從而大幅度提升工作效率。而如今IT技術的這種應用方式正在發生變化,因為今天的企業所經營的業務已經很難和IT分開。

一個典型例子就是一種在線音樂服務——網絡收音機。提出這種業務的公司在一些專業人士的幫助下為它的客戶提供定制的音樂,它們會跟蹤每個客戶的收聽習慣和聽完音樂后的反饋,以保證它們為每個客戶推送的都是客戶喜歡的節目。很顯然,沒有強大的IT基礎設施和計算能力作為保證,這項服務是不可能實現的。

而物聯網的興起更是推動了應用軟件的變化,使得軟件從人機交互為主到全面的自動化。應該說,到目前為止,大多數計算都是由人類活動發起的,比如訂購了一個商品、訪問一個網頁等等。而未來,由各種各樣的設備(如傳感器)發起而非人類活動發起的計算會越來越多。比如,如今智能電表在很多城市得到普及,它取代了傳統的人工抄表方式,省時省力。方便的背后是因為它主動發起了很多操作: 這種智能電表與電力公司的數據中心相連,它自動地把賬單信息上傳到電力公司的數據中心。除此之外,它還能實時地記錄用戶的電力使用細節,這些信息能幫助電力公司了解某個用戶使用電力的情況,從而制定相應的價格策略。這與每月僅僅讀取一個用電數相比,要傳輸和處理的數據量多了很多,也使得后臺的處理工作量大了很多,最終必然會影響后臺的軟件架構。

架構設計需應對四個挑戰

應用程序需要處理的數據量、數據類型以及應用程序的應用場景的變化,給未來的應用軟件設計帶來很多挑戰。具體來說,有四個方面:

應用程序負載變化大。工作任務變化和工作環境的復雜都使得應用程序的負載變得不可預測。比如,酒店傳統的高峰時段是每天早上(主要為退房)和下午4~9點(入住)。而在未來,業務的多樣化將使得應用程序隨時都有可能出現高負荷。也就是說,應用程序將是全天候處于工作狀態,而不僅僅只在某幾個小時。

用戶接口類型更加復雜。過去很多應用程序是面向人的,因此非常重視人機交互,比如會有很大的顯示屏以方便用戶輸入,而如今數據來源趨于多樣化,除了人工輸入外,更多時候是來自于其他應用程序、傳感設備或者來自用戶上載的文件或者之前根本沒有想到過的某個數據源。因此,在接口方面除了傳統的服務接口、上載接口還要考慮各種終端或者外設的輸入,除了單數據的輸入還要考慮批量上載。相應地,在應用程序的架構設計時就必須把各種新的數據流考慮進來。

要支持移動應用。過去的應用程序通常都工作在一個相對穩定的場合,與外部的連接通常也是可靠的,而架構設計通常也是基于這樣的前提設計的。而今,隨著無線網絡的普及,無線應用越來越多,而在無線網絡中,連接并非一定是可靠的。比如,用戶正在一個急駛的出租車中,他所使用的服務可能隨著位置的變化很快不可用。因此,程序必須充分考慮這一點,即在網絡聯通時能快速獲得所需的數據,一旦中斷能保護好工作“現場”,以待下次網絡恢復時繼續。

應用程序的拓撲結構更復雜。數據處理規模的不可預測,要求軟件架構的設計必須改變。比如,很多程序開始大量使用內存緩存數據以提高處理速度,而不一定把每個都保存到數據庫。而且,應用程序復雜常常是與異步處理和計算密集性的任務相伴相隨的,這時通常都會用到消息隊列,在應用程序的軟件架構時都必須考慮到這些問題。

從軟件架構開始支持云計算

為了保證應用系統能夠滿足企業未來的新需求,特別是支持云計算,對于新的軟件系統有必要在軟件架構上做好準備。建議可以從以下幾個方面進行考慮:

1.對應用軟件中準備使用的中間件(或組件)進行重新評估。現有大多數中間件是面向靜態環境進行設計的,通常采用手工配置,偶爾進行升級。這些中間件一般都有一個配置文件,人工進行流程編排。中間件啟動時,先讀取這個配置文件,然后根據文件要求完成規定的任務。未來,隨著云計算環境的普及,不斷會有新的連接加入也會有連接退出,這就會導致與中間件的連接關系發生變化,上述手工方式就開始顯出不足來。為此,未來的架構必須支持在線調整中間件在流程中的關系、能動態增加和刪減連接。

2.在軟件的設計和開發過程中時刻牢記負載平衡。很多應用軟件支持在Web服務器層的負載平衡,但進行負載均衡的時候要求所連接的組件數量固定而且IP地址也是固定的。而實踐中,負載變化的幅度可能很大,所以應用軟件的每個部分都應是可擴展的,也就是說要支持動態的負載均衡,在設計應用軟件架構時不能先假定只有一個或者幾個組件。

3.不要忘了可擴展性。可擴展性一直是設計軟件架構時應該考慮的,只是未來軟件的可擴展問題可能變得更重要。換句話說,未來的軟件必須要有能支持2倍、3倍甚至10倍負載的能力,因為將來軟件的應用軟件放到云環境中后,負載會變得不可預測,為此必須特別注意可能存在的性能瓶頸,而且要考慮好如何在程序運行的過程中解決可能存在的問題。事實上,如果設計時不考慮到可擴展性,未來的軟件架構將很難應對超出的負載。

4.支持應用軟件的動態更新。40年前汽車制造商要生產一種新的車型,需要用兩周的時間來對生產線進行調整,而后來豐田汽車率先實現了工廠的動態升級,僅用兩個小時就實現了這種調整。今天的應用軟件設計所處的情景與此相似,在云計算時代,應用程序24小時運行,不允許為了對軟件進行升級而停機。因此,今天的應用軟件架構設計必須考慮到如何在不影響用戶使用自己所需服務的同時,對軟件進行升級和調整,正如豐田汽車所做的那樣。同樣,與數據庫有關的模型設計也必須支持這種新的軟件使用模式。

主站蜘蛛池模板: 亚洲va视频| 伊人激情综合网| 在线观看免费国产| 人人妻人人澡人人爽欧美一区| 色精品视频| 国产亚洲欧美另类一区二区| 国产小视频免费| 天天综合网色中文字幕| 欧美精品导航| 91精品国产91欠久久久久| 欧美日韩北条麻妃一区二区| 毛片视频网址| 午夜老司机永久免费看片| 国产成人无码久久久久毛片| 成人一级免费视频| 无码AV高清毛片中国一级毛片| 久久国产精品嫖妓| 国产91透明丝袜美腿在线| 992Tv视频国产精品| 97av视频在线观看| 欧美人在线一区二区三区| 国产一级在线观看www色| a亚洲天堂| 精品视频在线观看你懂的一区| 亚洲性色永久网址| 91麻豆国产视频| 天天色天天综合| 国产在线精品网址你懂的| 97色伦色在线综合视频| 日韩美一区二区| 在线观看无码a∨| 2021精品国产自在现线看| 2018日日摸夜夜添狠狠躁| 国产麻豆福利av在线播放| 国产区在线观看视频| 一本大道无码高清| 成人永久免费A∨一级在线播放| 亚洲第一视频网站| 久久婷婷人人澡人人爱91| 日韩a级毛片| 手机在线免费不卡一区二| 国产精品久久久久久久久久久久| 又黄又湿又爽的视频| 91精品久久久久久无码人妻| 国产美女自慰在线观看| 亚国产欧美在线人成| 亚洲免费毛片| 亚洲天堂视频在线观看免费| 国产系列在线| 理论片一区| 国产情侣一区| 欧美日韩中文国产| 国产成人无码播放| 欧美日韩另类在线| 免费一看一级毛片| 国产毛片不卡| а∨天堂一区中文字幕| 亚洲精品黄| 一级成人a毛片免费播放| 国产喷水视频| 熟女视频91| 免费A级毛片无码无遮挡| 久久夜色精品国产嚕嚕亚洲av| 日韩精品亚洲一区中文字幕| 久久精品人人做人人爽| 亚洲欧洲日本在线| 久久伊伊香蕉综合精品| 在线人成精品免费视频| 超级碰免费视频91| 无码内射中文字幕岛国片| 亚洲国产精品不卡在线| 亚洲人在线| 国产青榴视频| 久久精品丝袜| 久久久久久久久亚洲精品| 人妻精品全国免费视频| 久久久久人妻一区精品色奶水| 91无码人妻精品一区| 无码中字出轨中文人妻中文中| 美女被操黄色视频网站| 亚洲第一视频网站| 亚洲日本中文字幕乱码中文|