色色一区二区三区,一本大道道久久九九AV综合,国产香蕉97碰碰视频va碰碰看,综合亚洲国产2020

    <legend id="mljv4"><u id="mljv4"><blockquote id="mljv4"></blockquote></u></legend>

    <sub id="mljv4"><ol id="mljv4"><abbr id="mljv4"></abbr></ol></sub>
      <mark id="mljv4"></mark>
      人文藝術(shù) > 在軟件項(xiàng)目開(kāi)發(fā)過(guò)程中,都有哪些常見(jiàn)的軟件架構(gòu)?

      在軟件項(xiàng)目開(kāi)發(fā)過(guò)程中,都有哪些常見(jiàn)的軟件架構(gòu)?

      2020-08-14 02:12閱讀(71)

      在軟件項(xiàng)目開(kāi)發(fā)過(guò)程中,都有哪些常見(jiàn)的軟件架構(gòu)?:軟件產(chǎn)品的架構(gòu),通常都是隨著業(yè)務(wù)的發(fā)展而不斷演變的;我從事軟件開(kāi)發(fā)行業(yè)也有十余年了,遇到過(guò)的軟件(企業(yè)

      1

      軟件產(chǎn)品的架構(gòu),通常都是隨著業(yè)務(wù)的發(fā)展而不斷演變的;我從事軟件開(kāi)發(fā)行業(yè)也有十余年了,遇到過(guò)的軟件(企業(yè)級(jí)應(yīng)用,我是從事Java開(kāi)發(fā))架構(gòu)主要有這么幾種:

      單體架構(gòu)架構(gòu)

      總的概括來(lái)說(shuō),單體架構(gòu)就是應(yīng)用所有的功能,只有一個(gè)代碼包,開(kāi)發(fā)和部署都在一起,這是一種比較傳統(tǒng)的架構(gòu)風(fēng)格;當(dāng)然,單體架構(gòu)也有著諸多的缺點(diǎn):

      • 代碼越來(lái)越多,增加了代碼的復(fù)雜性;作為開(kāi)發(fā)人員一定深有感觸,每當(dāng)修改一個(gè)老方法的時(shí)候,一定會(huì)格外的小心翼翼,生怕影響了其他的功能;

      • 單體應(yīng)用需要統(tǒng)一技術(shù)棧,團(tuán)隊(duì)中的開(kāi)發(fā)人員,都需要掌握相同的開(kāi)發(fā)語(yǔ)言和框架;

      • 隨著開(kāi)發(fā)人員的流動(dòng),老員工離開(kāi)項(xiàng)目組,復(fù)雜且龐大的項(xiàng)目代碼又讓新成員難以閱讀和理解,技術(shù)債務(wù)越積越多;

      • 代碼都在一個(gè)代碼包中,就算是修改一個(gè)小小的功能,都要把整個(gè)項(xiàng)目打包上線(xiàn);

      • 所有的模塊都運(yùn)行在同一個(gè)JVM中,非關(guān)鍵性業(yè)務(wù)可能占用大量的資源,導(dǎo)致關(guān)鍵性業(yè)務(wù)發(fā)生問(wèn)題;不能單獨(dú)對(duì)某一個(gè)模塊進(jìn)行擴(kuò)展。

      SOA架構(gòu)

      因?yàn)閱误w應(yīng)用架構(gòu)的種種缺點(diǎn),已經(jīng)不能再滿(mǎn)足業(yè)務(wù)需求的時(shí)候,于是就出現(xiàn)了SOA架構(gòu)。

      SOA架構(gòu)的主要思想是把應(yīng)用程序的模塊化組件,通過(guò)接口聯(lián)系起來(lái)(接口可以獨(dú)立于語(yǔ)言、框架、硬件、操作系統(tǒng));在SOA架構(gòu)中,有兩個(gè)主流實(shí)現(xiàn)方式:

      • Web Service:使用WSDL定義接口,SOAP協(xié)議通信,傳輸XML數(shù)據(jù);缺點(diǎn)是SOAP、XML較重;服務(wù)管理不完善;

      • ESB:企業(yè)服務(wù)總線(xiàn),每個(gè)服務(wù)提供者通過(guò)總線(xiàn)模式插入系統(tǒng),總線(xiàn)完成服務(wù)的編排和轉(zhuǎn)發(fā);但ESB本身就比較中,而且它本身算是一個(gè)單點(diǎn),在軟件架構(gòu)中,單點(diǎn)意味著風(fēng)險(xiǎn);

      微服務(wù)架構(gòu)

      微服務(wù)的產(chǎn)生,也是由于SOA架構(gòu)的一些缺點(diǎn),這里再次印證了這句話(huà),【應(yīng)用架構(gòu)的演進(jìn)的過(guò)程通常是被業(yè)務(wù)逼出來(lái)的】。

      • 在微服務(wù)的架構(gòu)中,服務(wù)拆分粒度更細(xì),提高了復(fù)用性;各個(gè)微服務(wù)可以獨(dú)立開(kāi)發(fā),獨(dú)立部署;

      • 微服務(wù)之間通常使用Restful風(fēng)格的API通信,傳輸格式也通常選擇JSON;

      • 微服務(wù)是SOA架構(gòu)的延續(xù),它們和單體應(yīng)用相比,大大提高了系統(tǒng)的負(fù)載能力,解決了應(yīng)用高并發(fā)的需求;

      • 服務(wù)和服務(wù)之間的耦合度也被降低,并且項(xiàng)目團(tuán)隊(duì)可以被拆分成多個(gè)小團(tuán)隊(duì),每個(gè)微服務(wù)都可以進(jìn)行敏捷開(kāi)發(fā)部署;

      • 每個(gè)團(tuán)隊(duì)的技術(shù)棧也可以不相同,只要遵守接口協(xié)議即可。

      • 當(dāng)然SOA、微服務(wù)的出現(xiàn),在解決一些問(wèn)題的時(shí)候,也帶來(lái)了另外一部分的問(wèn)題,比如增加了網(wǎng)絡(luò)開(kāi)銷(xiāo)、服務(wù)依賴(lài)性、增加了測(cè)試運(yùn)維難度、數(shù)據(jù)一致性問(wèn)題等等。

      我將持續(xù)分享Java開(kāi)發(fā)、架構(gòu)設(shè)計(jì)、程序員職業(yè)發(fā)展等方面的見(jiàn)解,希望能得到你的關(guān)注。

      相關(guān)問(wèn)答推薦

      熱點(diǎn)關(guān)注

      華裔女賭王就此沒(méi)落,生前讓所有 濃情端午粽飄香,青浦邀你“云體 上海:“云端”展現(xiàn)端午節(jié)文化內(nèi) “甜咸大戰(zhàn)”!明星藝人們喜歡什 如何做一個(gè)男人喜歡的情人(如何 當(dāng)你和你同時(shí)出現(xiàn)在同一個(gè)場(chǎng)景中 如何在昏暗的光線(xiàn)下設(shè)置快門(mén)速度 教育在生活中的價(jià)值是什么? 世上做壞事的人死后會(huì)面臨什么因 拜登就任總統(tǒng)后的第一步是什么? 同意/不同意:人生最重要的目標(biāo) 二戰(zhàn)后,德國(guó)在調(diào)和分歧方面做得 亞伯·林肯恨白人嗎? 一個(gè)編輯能把你的故事毀得有多嚴(yán) 現(xiàn)在的iPhone6還能堅(jiān)持再用一年 曹操為什么不殺司馬懿? 現(xiàn)在買(mǎi)房是不是最便宜的時(shí)候,現(xiàn) 我身邊的農(nóng)業(yè)銀行營(yíng)業(yè)廳關(guān)了,AT 歐洲媒體評(píng)選CBA最有實(shí)力球員, 榮耀play的6+128和榮耀8X的6+128 螞蟻集團(tuán)是科技公司還是金融公司 請(qǐng)問(wèn)機(jī)友華為mate30P與華為mate3 聽(tīng)說(shuō)老詹修剪一次指甲需要5小時(shí) 為什么說(shuō)寶寶“一月睡二月哭三月 戴笠人稱(chēng)戴老板,這個(gè)是怎么叫出 沒(méi)有工作能一次性補(bǔ)繳社保么? 我想知道定向師范生和免費(fèi)師范生 肺癌引起的咳嗽是怎樣的呢? 5000mAh電池的5G手機(jī)推薦嗎?要 恒大亞冠表現(xiàn)“差強(qiáng)人意”,你覺(jué)