• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      從IT 編輯的角度看軟件架構(gòu)變遷

      2021-05-02 12:52:18孫學(xué)瑛
      科技創(chuàng)新與應(yīng)用 2021年12期
      關(guān)鍵詞:普通用戶組件架構(gòu)

      孫學(xué)瑛

      (電子工業(yè)出版社有限公司,北京 100036)

      1 軟件架構(gòu)的定義

      軟件架構(gòu)在IT 界歷來沒有一個(gè)統(tǒng)一的定義,眾說紛紜,國際著名的面向?qū)ο蠓治鲈O(shè)計(jì)、UML、模式等方面的專家,敏捷開發(fā)方法的創(chuàng)始人之一馬丁·福勒(Martin Fowler)就曾說過:“很多人都試圖給‘架構(gòu)’下定義,而這些定義本身卻很難統(tǒng)一。”因?yàn)檐浖軜?gòu)有組成派和決策派之分,每個(gè)流派對(duì)架構(gòu)均有不同的看法和定義,如:

      而本文又需要去探索軟件架構(gòu)變遷,因此從純技術(shù)的角度出發(fā),采用的是IEEE 610.12-1990 軟件工程標(biāo)準(zhǔn)詞匯中的定義:

      架構(gòu)是以組件、組件之間的關(guān)系、組件與環(huán)境之間的關(guān)系為內(nèi)容的某一系統(tǒng)的基本組織結(jié)構(gòu),以及指導(dǎo)上述內(nèi)容設(shè)計(jì)與演化的原理(Principle)。

      由此可見,軟件架構(gòu)中“架構(gòu)”的是一種生態(tài),最終目的是讓軟件好用,從而讓軟件更好地為業(yè)務(wù)服務(wù),因此,本文主要分析的是軟件架構(gòu)在整個(gè)業(yè)務(wù)生態(tài)的作用,這里以電子商務(wù)為例,這一業(yè)務(wù)的核心利益點(diǎn)在于成交。而成交這一過程又包括:平臺(tái)、消費(fèi)者、產(chǎn)品、物流這4 個(gè)要素。在這4 個(gè)要素當(dāng)中又會(huì)發(fā)生:

      買賣,即平臺(tái)吸引買家購買、賣家入駐。

      合作,即平臺(tái)與買家、商家、物流等外在合作者的合作關(guān)系。

      服務(wù),即平臺(tái)要為相關(guān)人員提供良好的服務(wù),促成成交。

      因此,要實(shí)現(xiàn)電子商務(wù),軟件架構(gòu)設(shè)計(jì)必須考慮如何更有利于讓信息流、資金流、物流等得以順暢。而軟件架構(gòu)又以訪問量的逐漸增大或者突然激增而不斷演變,接下來就會(huì)詳細(xì)闡述這一演變過程。

      2 單體軟件架構(gòu)

      21 世紀(jì)初期,中國的電子商務(wù)剛剛萌芽,此時(shí)網(wǎng)站只是簡(jiǎn)單的ASP“個(gè)人網(wǎng)站系統(tǒng)”,四五位技術(shù)人員即可實(shí)現(xiàn)線上下單,只需要初步實(shí)現(xiàn)MVC 架構(gòu)即可,如圖1所示。

      普通用戶接觸的是展現(xiàn)層,即界面。當(dāng)普通用戶在界面上執(zhí)行一個(gè)操作時(shí),業(yè)務(wù)層在背后就會(huì)讀取數(shù)據(jù),MVC(Model、View、Controller)軟件架構(gòu)就會(huì)處理用戶操作請(qǐng)求,反饋操作結(jié)果到展現(xiàn)層。其中,Model 是核心程序,View 用于展現(xiàn)Model 數(shù)據(jù),Controller 則控制著整個(gè)操作完成過程的交互。這種將核心程序、展現(xiàn)與控制分離的模式因其易維護(hù)、易重用、易管理,再加上有應(yīng)用非常廣泛的MVC 框架(Spring 等)而流行至今。

      圖1 基本的MVC 架構(gòu)

      隨著電子商務(wù)日益普及,流量猛增,每日從幾單到上千單,再到數(shù)萬單,平臺(tái)系統(tǒng)變得越來越復(fù)雜,平臺(tái)架構(gòu)也會(huì)不斷演化,從ASP 架構(gòu)到.NET 架構(gòu),.NET 和Java系統(tǒng)并行之后,再到基礎(chǔ)Java 的整體系統(tǒng)架構(gòu),如圖2所示。這種架構(gòu)更為穩(wěn)固。

      圖2 京東首頁架構(gòu)(引自《決戰(zhàn)618》)

      3 分布式軟件架構(gòu)

      隨著用戶量和訂單量的激增,原有架構(gòu)已無法適應(yīng)發(fā)展需求,因此在整個(gè)產(chǎn)業(yè)的發(fā)展期,軟件架構(gòu)發(fā)生了如圖3 所示的變化。

      由圖3 可見,分布式應(yīng)用架構(gòu)是將系統(tǒng)“分而治之”以應(yīng)對(duì)億級(jí)乃至更多的流量和請(qǐng)求。分而治之所帶來的問題:

      如何將原有系統(tǒng)“分”成各個(gè)小系統(tǒng)(即微服務(wù))?

      如何管理各個(gè)小系統(tǒng)?

      如何管理各個(gè)小系統(tǒng)的交互?

      如何拓展系統(tǒng)?

      如何保證各個(gè)小系統(tǒng)交互的安全性和可靠性?

      ……

      這也是這個(gè)階段架構(gòu)師所必須面臨的問題。

      合久必分,分久必合,這一經(jīng)典名言放在軟件架構(gòu)當(dāng)中也是適用的。在軟件系統(tǒng)發(fā)展到要承擔(dān)海量的用戶訪問時(shí),拆分是必然的,然后如何拆分能保證系統(tǒng)的可靠性又是一種藝術(shù)。微服務(wù)是其中一種拆分方法,即面向服務(wù)拆分,這是一種對(duì)用戶極為友好且易理解的方案,每個(gè)微服務(wù)僅關(guān)注于如何很好地完成一個(gè)任務(wù),每個(gè)任務(wù)代表著一個(gè)小的業(yè)務(wù)能力。以電子商務(wù)系統(tǒng)為例,我們要增加一種結(jié)賬支付方式,則只需要修改“結(jié)賬服務(wù)”即可,無須修改其他子系統(tǒng),因?yàn)檎w系統(tǒng)采用“微服務(wù)”架構(gòu),拆分為各個(gè)獨(dú)立運(yùn)行的子系統(tǒng)。

      微服務(wù)中的“微”有好有壞,好處在于能快速交付軟件,很多子系統(tǒng)可重用,非常適合電子商務(wù)這種互聯(lián)網(wǎng)項(xiàng)目,但是壞處在于維護(hù)成本和難度均高,“微”意味著背后需要基礎(chǔ)設(shè)施的巨量維護(hù)支撐。

      4 云原生

      當(dāng)云于2006 年出現(xiàn)在國人視野之中發(fā)展至今時(shí),軟件于大眾也如同水電一樣使用了,云為軟件架構(gòu)帶來的轉(zhuǎn)變,當(dāng)然就是翻天覆地的。軟件架構(gòu)在云上,享受云廠商提供的各種資源和服務(wù),不再是從零開始開發(fā)軟件系統(tǒng),而是基于云廠商的基礎(chǔ)設(shè)施與軟件產(chǎn)品,改造和定制現(xiàn)有軟件系統(tǒng),讓開發(fā)者更專注于業(yè)務(wù)本身,帶來更多便利。比如,2019 年阿里巴巴雙十一的2684 億元交易全部發(fā)生在云上,可見云所能承載的算力可以是海量的;2020年新冠疫情之后,健康寶讓大家能順暢地行走于各地,大數(shù)據(jù)精準(zhǔn)地防疫抗疫,這都得益于云的力量。

      目前大多企業(yè)的核心應(yīng)用都在慢慢云化,處于云下和云上的過渡階段,但是很多新應(yīng)用運(yùn)用更適合云上環(huán)境的方法來構(gòu)建和運(yùn)行,如容器服務(wù)和函數(shù)計(jì)算,如特斯拉公司的Model 系列電動(dòng)轎車上市后,車輛購買者會(huì)發(fā)現(xiàn)汽車的功能可以隨著時(shí)間推移而不斷更新升級(jí)。這就是云原生的魅力所在,云的趨勢(shì)勢(shì)不可擋。

      目前云計(jì)算有三種分類,分別是:

      (1)軟件即服務(wù)(Software as a Service,SaaS)

      SaaS 是一種用戶可按需取用軟件的模式。用戶不必再像以前那樣花費(fèi)大量投資用于硬件、軟件、人員,而只需要按最終用戶數(shù)、使用時(shí)間的長(zhǎng)短、消耗的網(wǎng)絡(luò)帶寬、存儲(chǔ)的數(shù)據(jù)規(guī)模或者數(shù)據(jù)保存期限等因素支出一定的服務(wù)租賃費(fèi)用,即可享用相應(yīng)的服務(wù)。

      (2)平臺(tái)即服務(wù)(Platform as a Service,PaaS)

      圖3 軟件架構(gòu)的演進(jìn)

      相對(duì)SaaS,PaaS 為用戶提供的是一個(gè)集成平臺(tái),而不是某一應(yīng)用軟件,平臺(tái)可包括數(shù)據(jù)庫、集成開發(fā)環(huán)境等全部的軟件運(yùn)行環(huán)境,用戶可以對(duì)他們開發(fā)出來的應(yīng)用軟件進(jìn)行部署測(cè)試。因?yàn)樾枰邆湟欢ㄩ_發(fā)能力,所以這些用戶需要是程序開發(fā)員、軟件測(cè)試工程師、應(yīng)用程序部署人員或者應(yīng)用程序管理員等。用戶需要根據(jù)處理器消耗、網(wǎng)絡(luò)帶寬消耗、數(shù)據(jù)庫存儲(chǔ)規(guī)模及使用時(shí)間的長(zhǎng)短等因素給云服務(wù)提供商付費(fèi)。

      (3)基礎(chǔ)設(shè)施即服務(wù)(Infrastructure as a Service,IaaS)

      相對(duì)前兩種,IaaS 為用戶提供的是一種基礎(chǔ)設(shè)施,這主要包括云端的虛擬機(jī)、NAS 存儲(chǔ)、網(wǎng)絡(luò)設(shè)施及其他能部署和運(yùn)行任何軟件的基礎(chǔ)計(jì)算資源等所有設(shè)施,因此用戶可以在上面能夠部署和運(yùn)行任意軟件,甚至包括操作系統(tǒng),也有可能獲得對(duì)網(wǎng)絡(luò)組件(例如,防火墻、負(fù)載均衡器等)的控制。因此,這些用戶一般為系統(tǒng)開發(fā)人員、系統(tǒng)管理員或者熱衷于掌控基礎(chǔ)設(shè)施的IT 部經(jīng)理,他們需要根據(jù)虛擬機(jī)使用CPU 的小時(shí)數(shù)、存儲(chǔ)的數(shù)據(jù)規(guī)模和時(shí)間、消耗的網(wǎng)絡(luò)帶寬,以及申請(qǐng)的公網(wǎng)IP 地址的數(shù)量等因素向云服務(wù)提供商付費(fèi)。

      從這三種分類,軟件即服務(wù)(Software as a Service,SaaS)、平臺(tái)即服務(wù)(Platform as a Service,PaaS)、基礎(chǔ)設(shè)施即服務(wù)(Infrastructure as a Service,IaaS)可以得知,云這臺(tái)超級(jí)計(jì)算機(jī)將自身所有資源歸結(jié)于服務(wù),將服務(wù)的所有權(quán)和使用權(quán)分離,并將使用權(quán)分時(shí)分地地出租給用戶。

      云其實(shí)就是一臺(tái)超級(jí)計(jì)算機(jī),現(xiàn)在及未來IT 中所有的I(Information)和T(Technology)將全部挪到這臺(tái)超級(jí)計(jì)算機(jī)中。我們普通用戶只需隨時(shí)隨地取用、運(yùn)營及擴(kuò)充,IT 技術(shù)對(duì)普通用戶而言將越來越黑盒化、簡(jiǎn)易化。所以,此時(shí)的軟件架構(gòu)將全部歸一為使用服務(wù)。

      5 結(jié)束語

      由上述簡(jiǎn)單分析可得出,軟件架構(gòu)在整個(gè)業(yè)務(wù)生態(tài)當(dāng)中起著基礎(chǔ)設(shè)施的作用,最終是為了業(yè)務(wù)增長(zhǎng)而服務(wù)的,因此軟件架構(gòu)隨業(yè)務(wù)而變,而增減、完善組件。因業(yè)務(wù)而進(jìn)行的軟件架構(gòu)演講是所有技術(shù)人員孜孜不倦的追求,軟件架構(gòu)與所有利益相關(guān)人員,如架構(gòu)師、開發(fā)人員、業(yè)務(wù)人員等是息息相關(guān)的,軟件架構(gòu)在很大程度上架構(gòu)的是人。未來的架構(gòu)應(yīng)該是業(yè)務(wù)架構(gòu)、應(yīng)用架構(gòu)與數(shù)據(jù)架構(gòu)的融合與統(tǒng)一。

      猜你喜歡
      普通用戶組件架構(gòu)
      基于FPGA的RNN硬件加速架構(gòu)
      無人機(jī)智能巡檢在光伏電站組件診斷中的應(yīng)用
      能源工程(2022年2期)2022-05-23 13:51:50
      功能架構(gòu)在電子電氣架構(gòu)開發(fā)中的應(yīng)用和實(shí)踐
      汽車工程(2021年12期)2021-03-08 02:34:30
      新型碎邊剪刀盤組件
      U盾外殼組件注塑模具設(shè)計(jì)
      即使是普通用戶也需要備一張家庭影院入門攻略:影音調(diào)校工具篇1
      LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實(shí)現(xiàn)
      Numerical Analysis of Refueling Drogue Oscillation During Refueling Docking
      風(fēng)起新一代光伏組件膜層:SSG納米自清潔膜層
      太陽能(2015年11期)2015-04-10 12:53:04
      一種基于FPGA+ARM架構(gòu)的μPMU實(shí)現(xiàn)
      察哈| 萝北县| 张掖市| 渝北区| 屏东市| 宕昌县| 许昌县| 太仓市| 屏山县| 公主岭市| 姚安县| 万山特区| 景东| 吉安县| 新巴尔虎左旗| 邵阳市| 龙胜| 浙江省| 英德市| 宁乡县| 盈江县| 四川省| 湖北省| 灯塔市| 内丘县| 凤山县| 乐都县| 潮安县| 交城县| 阿坝县| 娱乐| 晴隆县| 桦甸市| 鲜城| 高安市| 射阳县| 贵州省| 绥芬河市| 邛崃市| 潞城市| 沂源县|