久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx

四種軟件架構,看看你屬于哪個層次

2021-02-21    分類: 網站建設

如果一個軟件開發人員,不了解軟件架構的演進,會制約技術的選型和開發人員的生存、晉升空間。這里我列舉了目前主要的四種軟件架構以及他們的優缺點,希望能夠幫助軟件開發人員拓展知識面。

一、單體架構

單體架構比較初級,典型的三級架構,前端(Web/手機端)+中間業務邏輯層+數據庫層。這是一種典型的Java Spring mvc或者Python Drango框架的應用。其架構圖如下所示:



單體架構的應用比較容易部署、測試, 在項目的初期,單體應用可以很好地運行。然而,隨著需求的不斷增加, 越來越多的人加入開發團隊,代碼庫也在飛速地膨脹。慢慢地,單體應用變得越來越臃腫,可維護性、靈活性逐漸降低,維護成本越來越高。

下面是單體架構應用的一些缺點:

復雜性高: 以一個百萬行級別的單體應用為例,整個項目包含的模塊非常多、模塊的邊界模糊、 依賴關系不清晰、 代碼質量參差不齊、 混亂地堆砌在一起。可想而知整個項目非常復雜。 每次修改代碼都心驚膽戰, 甚至添加一個簡單的功能, 或者修改一個Bug都會帶來隱含的缺陷。

技術債務: 隨著時間推移、需求變更和人員更迭,會逐漸形成應用程序的技術債務, 并且越積 越多。“ 不壞不修”, 這在軟件開發中非常常見, 在單體應用中這種思想更甚。

已使用的系統設計或代碼難以被修改,因為應用程序中的其他模塊可能會以意料之外的方式使用它。

部署頻率低: 隨著代碼的增多,構建和部署的時間也會增加。而在單體應用中, 每次功能的變更或缺陷的修復都會導致需要重新部署整個應用。全量部署的方式耗時長、 影響范圍大、 風險高, 這使得單體應用項目上線部署的頻率較低。

而部署頻率低又導致兩次發布之間會有大量的功能變更和缺陷修復,出錯率比較高。可靠性差: 某個應用Bug,例如死循環、內存溢出等, 可能會導致整個應用的崩潰。

擴展能力受限: 單體應用只能作為一個整體進行擴展,無法根據業務模塊的需要進行伸縮。例如,應用中有的模塊是計算密集型的,它需要強勁的CPU; 有的模塊則是IO密集型的,需要更大的內存。

由于這些模塊部署在一起,不得不在硬件的選擇上做出妥協。阻礙技術創新: 單體應用往往使用統一的技術平臺或方案解決所有的問題, 團隊中的每個成員 都必須使用相同的開發語言和框架,要想引入新框架或新技術平臺會非常困難。

二、分布式應用

中級架構,分布式應用,中間層分布式+數據庫分布式,是單體架構的并發擴展,將一個大的系統劃分為多個業務模塊,業務模塊分別部署在不同的服務器上,各個業務模塊之間通過接口進行數據交互。數據庫也大量采用分布式數據庫,如redis、ES、solor等。通過LVS/Nginx代理應用,將用戶請求均衡的負載到不同的服務器上。其架構圖如下所示:


該架構相對于單體架構來說,這種架構提供了負載均衡的能力,大大提高了系統負載能力,解決了網站高并發的需求。

另外還有以下特點:

降低了耦合度:把模塊拆分,使用接口通信,降低模塊之間的耦合度。

責任清晰:把項目拆分成若干個子項目,不同的團隊負責不同的子項目。擴展方便:增加功能時只需要再增加一個子項目,調用其他系統的接口就可以。部署方便:可以靈活的進行分布式部署。

提高代碼的復用性:比如service層,如果不采用分布式rest服務方式架構就會在手機wap商城,微信商城,pc,android,ios每個端都要寫一個service層邏輯,開發量大,難以維護一起升級,這時候就可以采用分布式rest服務方式,公用一個service層。

缺點 : 系統之間的交互要使用遠程通信,接口開發增大工作量,但是利大于弊。

三、微服務架構

微服務架構,主要是中間層分解,將系統拆分成很多小應用(微服務),微服務可以部署在不同的服務器上,也可以部署在相同的服務器不同的容器上。當應用的故障不會影響到其他應用,單應用的負載也不會影響到其他應用,其代表框架有Spring cloud、Dubbo等。 其架構圖如下所示:


易于開發和維護: 一個微服務只會關注一個特定的業務功能,所以它業務清晰、代碼量較少。 開發和維護單個微服務相對簡單。而整個應用是由若干個微服務構建而成的,所以整個應用也會被維持在一個可控狀態。

單個微服務啟動較快: 單個微服務代碼量較少, 所以啟動會比較快。 局部修改容易部署: 單體應用只要有修改,就得重新部署整個應用,微服務解決了這樣的問題。 一般來說,對某個微服務進行修改,只需要重新部署這個服務即可。

技術棧不受限:在微服務架構中,可以結合項目業務及團隊的特點,合理地選擇技術棧。

例如某些服務可使用關系型數據庫MySQL;某些微服務有圖形計算的需求,可以使用Neo4j;甚至可根據需要,部分微服務使用Java開發,部分微服務使用Node.js開發。微服務雖然有很多吸引人的地方,但它并不是免費的午餐,使用它是有代價的。使用微服務架構面臨的挑戰。

運維要求較高:更多的服務意味著更多的運維投入。在單體架構中,只需要保證一個應用的正常運行。而在微服務中,需要保證幾十甚至幾百個服務服務的正常運行與協作,這給運維帶來了很大的挑戰。分布式固有的復雜性:使用微服務構建的是分布式系統。對于一個分布式系統,系統容錯、網絡延遲、分布式事務等都會帶來巨大的挑戰。

接口調整成本高:微服務之間通過接口進行通信。如果修改某一個微服務的API,可能所有使用了該接口的微服務都需要做調整。

重復勞動:很多服務可能都會使用到相同的功能,而這個功能并沒有達到分解為一個微服務的程度,這個時候,可能各個服務都會開發這一功能,從而導致代碼重復。盡管可以使用共享庫來解決這個問題(例如可以將這個功能封裝成公共組件,需要該功能的微服務引用該組件),但共享庫在多語言環境下就不一定行得通了。

四、Serverless架構

當我們還在容器的浪潮中前行時,已經有一些革命先驅悄然布局另外一個云計算戰場:Serverless架構。


2014年11月14日,亞馬遜AWS發布了新產品Lambda。當時Lambda被描述為:一種計算服務,根據時間運行用戶的代碼,無需關心底層的計算資源。從某種意義上來說,Lambda姍姍來遲,它像云計算的PaaS理念:客戶只管業務,無需擔心存儲和計算資源。

在此前不久,2014年10月22日,谷歌收購了實時后端數據庫創業公司Firebase。Firebase聲稱開發者只需引用一個API庫文件就可以使用標準REST API的各種接口對數據進行讀寫操作,只需編寫HTML+CSS+JavaScrip前端代碼,不需要服務器端代碼(如需整合,也極其簡單)。

相對于上兩者,Facebook 在2014年二月收購的 Parse,則側重于提供一個通用的后臺服務。這些服務被稱為Serverless或no sever。想到PaaS(平臺即服務)了是嗎?很像,用戶不需要關心基礎設施,只需要關心業務,這是遲到的PaaS,也是更實用的PaaS。這很有可能將會變革整個開發過程和傳統的應用生命周期,一旦開發者們習慣了這種全自動的云上資源的創建和分配,或許就再也回不到那些需要微應用配置資源的時代里去了。

Serverless架構能夠讓開發者在構建應用的過程中無需關注計算資源的獲取和運維,由平臺來按需分配計算資源并保證應用執行的SLA(服務等級協議),按照調用次數進行計費,有效的節省應用成本。ServerLess的架構如上圖所示。其優點如下所示:

低運營成本:在業務突發性極高的場景下,系統為了應對業務高峰,必須構建能夠應對峰值需求的系統,這個系統在大部分時間是空閑的,這就導致了嚴重的資源浪費和成本上升。在微服務架構中,服務需要一直運行,實際上在高負載情況下每個服務都不止一個實例,這樣才能完成高可用性;在Serverless架構下,服務將根據用戶的調用次數進行計費,按照云計算pay-as-you-go原則,如果沒有東西運行,你就不必付款,節省了使用成本。同時,用戶能夠通過共享網絡、硬盤、CPU等計算資源,在業務高峰期通過彈性擴容方式有效的應對業務峰值,在業務波谷期將資源分享給其他用戶,有效的節約了成本。

簡化設備運維:在原有的IT體系中,開發團隊即需要維護應用程序,同時還要維護硬件基礎設施;Serverless架構中,開發人員面對的將是第三方開發或自定義的API 和URL,底層硬件對于開發人員透明化了,技術團隊無需再關注運維工作,能夠更加專注于應用系統開發。

提升可維護性:Serverless架構中,應用程序將調用多種第三方功能服務,組成最終的應用邏輯。目前,例如登陸鑒權服務,云數據庫服務等第三方服務在安全性、可用性、性能方面都進行了大量優化,開發團隊直接集成第三方的服務,能夠有效的降低開發成本,同時使得應用的運維過程變得更加清晰,有效的提升了應用的可維護性。

更快的開發速度:這一點在現在互聯網創業公司得到很好的體現,創業公司往往開始由于人員和資金等問題,不可能每個產品線都同時進行,這時候就可以考慮第三方的Baas平臺,比如使用微信的用戶認證、阿里云提供的RDS,極光的消息推送,第三方支付及地理位置等等,能夠很快進行產品開發的速度,把工作重點放在業務實現上,把產品更快的推向市場。

但ServerLess架構也有其缺點:

廠商平臺綁定:平臺會提供Serverless架構給大玩家,比如AWS Lambda,運行它需要使用AWS指定的服務,比如API網關,DynamoDB,S3等等,一旦你在這些服務上開發一個復雜系統,你會粘牢AWS,以后只好任由他們漲價定價或者下架等操作,個性化需求很難滿足,不能進行隨意的遷移或者遷移的成本比較大,同時不可避免帶來一些損失。Baas行業內一個比較典型的事件,2016年1月19日Facebook關閉曾經花巨額資金收購的Parse,造成用戶不得不遷移在這個平臺中產生一年多的數據,無疑需要花費比較大的人力和時間成本。成功案例比較少,

沒有行業標準:目前的情況也只適合簡單的應用開發,缺乏大型成功案例的推動。對于Serverless缺乏統一的認知以及相應的標準,無法適應所有的云平臺。

目前微服務架構在四種架構中處于主流地位,很多應用第一、第二種架構的企業也開始慢慢轉向微服務架構。到目前為止微服務的技術相對于二三年前已經比較成熟,第四種架構將是未來發展的一種趨勢。如果你喜歡我的文章,歡迎關注我的簡書,后續我將教會大家利用spring cloud和docker輕松愉快的構建微服務。

文章標題:四種軟件架構,看看你屬于哪個層次
網頁URL:http://www.js-pz168.com/news43/102143.html

成都網站建設公司_創新互聯,為您提供企業網站制作服務器托管外貿網站建設全網營銷推廣定制開發商城網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

h5響應式網站建設
久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx
狠狠久久综合婷婷不卡| 欧美无砖砖区免费| 欧美日韩一区二区三区高清| 久久女同性恋中文字幕| 日韩精品欧美专区| 精品视频一区二区三区免费| 久久久久国产精品免费免费搜索| 一区二区高清视频在线观看| 国产乱码精品一区二区三| 国产精品一 二 三| 欧美在线一区二区三区| 日本一区二区三区国色天香| 日韩电影在线观看一区| 91最新地址在线播放| 中国人体摄影一区二区三区| 久久日韩精品一区二区五区| 亚洲成人高清在线| 99精品视频一区| 午夜成人在线视频| 丁香天五香天堂综合| 偷拍视频一区二区| 26uuu精品一区二区在线观看| 亚洲国产一区二区视频| 成人不卡免费av| 视频一区二区三| 久久亚洲一区二区三区明星换脸 | 91麻豆福利精品推荐| 视频一区二区三区免费观看| 精品国产91乱码一区二区三区| 五月婷婷激情综合网| 91偷拍精品一区二区三区| 中文字幕一区二区三区5566| 国产欧美日韩精品a在线观看| 久久精品免费观看| 久久99九九| 欧美白人最猛性xxxxx69交| 亚洲成a天堂v人片| 成人自拍视频网站| 这里只有精品电影| 五月婷婷久久综合| 国产一区二区三区免费不卡| 日韩一级欧美一级| 丝袜美腿高跟呻吟高潮一区| 国产精品久久久久久久免费大片| 欧美日韩国产综合一区二区三区| 一区二区三区高清| 99re在线播放| 欧美一区二区三区系列电影| 亚洲成a人片综合在线| 国产精品一区而去| 欧美不卡在线视频| 久久精品国产精品青草| 欧洲视频一区二区三区| 国产视频一区二区在线| 国产精品一区二区久激情瑜伽| 亚洲精品中字| 亚洲丝袜制服诱惑| 91免费看`日韩一区二区| 欧美夫妻性生活| 日本欧洲一区二区| 日韩久久久久久久| 国产精品久久三| 9l国产精品久久久久麻豆| 欧美日韩卡一卡二| 偷拍自拍另类欧美| 亚洲国产精品一区在线观看不卡 | 亚洲国产精品麻豆| 久久精品日产第一区二区三区| 欧洲高清一区二区| 国产亚洲精品精华液| 国产成人亚洲精品狼色在线 | 欧美色男人天堂| 午夜精品久久久久影视| 欧美大香线蕉线伊人久久| 国产日产欧美一区| www.成人在线| 日韩三级免费观看| 国产一区二区伦理片| 在线观看日韩毛片| 天堂va蜜桃一区二区三区漫画版 | 99久久精品国产麻豆演员表| 9191精品国产综合久久久久久 | 成人国产在线观看| 69堂成人精品免费视频| 玖玖九九国产精品| 91官网在线免费观看| 欧美一区二区三区白人| 韩国精品在线观看| 欧美最猛性xxxxx直播| 日韩精品一区第一页| 亚洲 日韩 国产第一区| 一区二区三区 在线观看视频| 久久精品99| 亚洲欧洲韩国日本视频| 国产精品一区二区不卡视频| 欧美国产一区视频在线观看| 91美女片黄在线| 久久久久久久综合日本| 91麻豆精品在线观看| 久久久一区二区三区| 91看片淫黄大片一级在线观看| 精品国产麻豆免费人成网站| 26uuu另类欧美| 成人成人成人在线视频| 欧美videos大乳护士334| 成年人网站91| 欧美精品一区二区三| 91网站黄www| 久久精品欧美一区二区三区麻豆 | 精品一区二区在线视频| 欧美日韩精品欧美日韩精品一综合| 日本伊人精品一区二区三区观看方式| 在线观看日本一区| 日本美女一区二区三区视频| 在线免费观看视频一区| 麻豆91精品91久久久的内涵| 欧美日韩另类一区| 福利一区在线观看| 欧美成人女星排名| 99精品黄色片免费大全| 日本一区二区动态图| 久久国产欧美精品| 亚洲成人自拍网| 色综合天天综合在线视频| 免费成人在线影院| 欧美日韩日日夜夜| 成人午夜碰碰视频| 国产日韩av一区二区| 久久青青草综合| 午夜激情久久久| 欧美日韩国产一区二区三区地区| 粉嫩一区二区三区性色av| 久久色在线视频| 精品欧美日韩| 午夜私人影院久久久久| 欧美无砖砖区免费| 成人h精品动漫一区二区三区| 国产午夜一区二区三区| 免费久久一级欧美特大黄| 午夜久久福利影院| 欧美日韩国产综合草草| youjizz久久| 最新国产精品久久精品| 亚洲国产另类久久久精品极度| 老司机免费视频一区二区三区| 欧美一区二区三区小说| 国产精品久久国产精品| 亚洲国产欧美一区二区三区丁香婷 | 午夜亚洲国产au精品一区二区| 欧美性猛交xxxx乱大交退制版| 成人做爰69片免费看网站| 国产日韩欧美精品一区| 日本一区二区三区免费观看| 美国欧美日韩国产在线播放| 欧美变态tickling挠脚心| 精品一区二区视频| 日韩av网站免费在线| 91麻豆精品国产91久久久久| www.成人av.com| 亚洲成av人片在www色猫咪| 欧美精品高清视频| 人人狠狠综合久久亚洲| 日韩天堂在线观看| 久久精品一二三区| 麻豆精品在线视频| 久久久不卡网国产精品一区| 欧美一区二区三区精美影视 | 在线观看亚洲一区| 99精品久久99久久久久| 亚洲黄色小说网站| 欧美日韩高清一区二区不卡| 成人免费视频网站| 亚洲www啪成人一区二区麻豆| 91精品国产乱码久久蜜臀| 国产一区二区三区四区hd| 日韩成人dvd| 久久久久久电影| 亚洲欧美精品| 成人精品亚洲人成在线| 麻豆精品传媒视频| 国产一区二区三区不卡在线观看 | 亚洲丰满少妇videoshd| 日韩欧美综合一区| 日本在线高清视频一区| 国产sm精品调教视频网站| 综合欧美一区二区三区| 欧美在线观看一区| 成人黄动漫网站免费| 免费人成网站在线观看欧美高清| 337p粉嫩大胆色噜噜噜噜亚洲 | 一区二区免费在线播放| 51精品国自产在线| 欧美日韩一区二区视频在线观看| 国产精品中文字幕欧美| 亚洲精品中文字幕乱码三区| 91精品婷婷国产综合久久竹菊| 麻豆精品传媒视频| 丁香婷婷深情五月亚洲| 亚洲一区二区精品视频| 久久综合色之久久综合|