回答:軟件產(chǎn)品架構(gòu)是不斷迭代演化的,從單體服務(wù)架構(gòu)發(fā)展到現(xiàn)在的服務(wù)化、微服務(wù)的架構(gòu)。單體架構(gòu)單體架構(gòu)就是所有的業(yè)務(wù)模塊都是耦合在一個(gè)項(xiàng)目中,開(kāi)發(fā)、部署都在一起;如果其中一個(gè)模塊需要上線(xiàn)升級(jí),那么所有模塊都要一起啟停;在早期,單體架構(gòu)的項(xiàng)目團(tuán)隊(duì)成員需要是全棧,因?yàn)榍岸恕⒑蠖恕?shù)據(jù)庫(kù)都是一波人負(fù)責(zé),后來(lái)開(kāi)始進(jìn)行了邏輯分層,團(tuán)隊(duì)也分成了前端 UI 團(tuán)隊(duì)、后端和 DBA 團(tuán)隊(duì),每個(gè)團(tuán)隊(duì)都有自己負(fù)責(zé)的職責(zé)。然而隨...
回答:如果項(xiàng)目的用戶(hù)量少、訪(fǎng)問(wèn)量不大、數(shù)據(jù)量也不多的時(shí)候,一臺(tái)服務(wù)器足以支撐,那么直接項(xiàng)目部署一套,直接訪(fǎng)問(wèn)使用就可以了,但是當(dāng)用戶(hù)和數(shù)據(jù)量不斷增多,訪(fǎng)問(wèn)量(并發(fā)量)不斷增加,一臺(tái)服務(wù)器不在能夠支撐業(yè)務(wù)的時(shí)候,就需要使用多臺(tái)機(jī)器,設(shè)計(jì)高性能的集群來(lái)應(yīng)對(duì)。那么當(dāng)我部署了多臺(tái)服務(wù)器(這里假如是兩臺(tái)),那么調(diào)用方是如何訪(fǎng)問(wèn)的呢?服務(wù)方如何均衡訪(fǎng)問(wèn)的流量呢?這時(shí)候就需要引出負(fù)載均衡了。負(fù)載均衡就是通過(guò)一定的策略...
回答:從系統(tǒng)架構(gòu)本身來(lái)說(shuō),一般系統(tǒng)優(yōu)化主要從三個(gè)方面入手,數(shù)據(jù)持久層、業(yè)務(wù)邏輯層和前端展示層。數(shù)據(jù)持久層限制系統(tǒng)性能主要有兩個(gè)方面,一是數(shù)據(jù)庫(kù)自身的性能,二是對(duì)數(shù)據(jù)庫(kù)操作的方式,數(shù)據(jù)庫(kù)自身相對(duì)簡(jiǎn)單,一般通過(guò)優(yōu)化配置、采用高可用方案、搭建集群或者使用性能更好的數(shù)據(jù)庫(kù)來(lái)提升性能;數(shù)據(jù)庫(kù)操作主要是數(shù)據(jù)庫(kù)讀寫(xiě)操作,可以通過(guò)SQL優(yōu)化的方式來(lái)提升讀寫(xiě)速度,或者通過(guò)緩存的方式減低并發(fā)、提升性能。業(yè)務(wù)邏輯層代碼層面常...
回答:1. XML 首先,你要了解XML。我不是說(shuō)僅僅是XML規(guī)格本身,還包括一系列相關(guān)的基于XML的語(yǔ)言:最重要的是XHTML、XSLT、XSL、DTDs、XML Schema (XSD)、XPath、XQuery和SOAP。那些在過(guò)去5年內(nèi)從未碰過(guò)鍵盤(pán)的人,可能不知道XML為何物。XML是一種文本文件,使用與HTML類(lèi)似的標(biāo)記。XML能定義一個(gè)樹(shù)狀結(jié)構(gòu),并能描述所含的數(shù)據(jù)。 XML最好的一點(diǎn)是既...
回答:分布式架構(gòu)是軟件系統(tǒng)分布式系統(tǒng)存儲(chǔ)是基于存儲(chǔ)、服務(wù)器、數(shù)據(jù)庫(kù)技術(shù)、容災(zāi)熱備等技術(shù)的系統(tǒng)集成數(shù)字經(jīng)濟(jì)時(shí)代,各個(gè)企業(yè)、個(gè)人都在生產(chǎn)數(shù)據(jù),利用數(shù)據(jù),數(shù)據(jù)也在社會(huì)中不斷流動(dòng)、循環(huán),為這個(gè)時(shí)代創(chuàng)造著價(jià)值與機(jī)遇。盡管數(shù)據(jù)如此珍貴,但我們?nèi)匀粫?huì)聽(tīng)到在集中式存儲(chǔ)場(chǎng)景中,由于網(wǎng)絡(luò)攻擊、火災(zāi)、地震而造成數(shù)據(jù)故障、丟失等問(wèn)題。為了防止數(shù)據(jù)出現(xiàn)故障、數(shù)據(jù)丟失、服務(wù)器出錯(cuò)、數(shù)據(jù)無(wú)法恢復(fù)等情況,越來(lái)越多企業(yè)開(kāi)始把集中存儲(chǔ)轉(zhuǎn)變...
回答:超融合架構(gòu)怎么樣?回答這個(gè)問(wèn)題,首先要了解超融合架構(gòu)是針對(duì)傳統(tǒng)架構(gòu)的,相對(duì)于傳統(tǒng)架構(gòu)超融合的優(yōu)勢(shì)主要體現(xiàn)在以下幾點(diǎn):1.可靠性能更好用服務(wù)器構(gòu)建存儲(chǔ),客戶(hù)顧慮最多的首先是可靠性,如果需要衡量可靠性:系統(tǒng)的冗余度?通俗的說(shuō)就是允許硬件壞多少?出現(xiàn)故障后是否完全自動(dòng)恢復(fù)?恢復(fù)速度和時(shí)間?因?yàn)橄到y(tǒng)處于降級(jí)狀態(tài)下是比較危險(xiǎn)的狀態(tài),故障窗口越小,出現(xiàn)整體故障的可能性就越小。以下給出詳細(xì)的系統(tǒng)冗余與恢復(fù)機(jī)制對(duì)...
...的。你需要有退后一步看代碼的能力,從而理解特定軟件系統(tǒng)背后的設(shè)計(jì)決策。退后一步才能看到大局,這是架構(gòu)師必須掌握的核心技能。這就是為什么《程序員必讀之軟件架構(gòu)》一書(shū)中加入了有關(guān)C4模型的內(nèi)容,這是一種...
架構(gòu)的規(guī)劃誰(shuí)架構(gòu)就是對(duì)系統(tǒng)中的實(shí)體以及實(shí)體之間的關(guān)系所進(jìn)行的抽象描述,是決策。系統(tǒng)架構(gòu)是結(jié)構(gòu)和規(guī)劃,是對(duì)物/信息的功能與形式元素之間的對(duì)應(yīng)情況所做的分配,是對(duì)元素之間的關(guān)系...
...對(duì)你有所幫助。 當(dāng)我們想用一張或幾張圖來(lái)描述我們的系統(tǒng)時(shí),是不是經(jīng)常遇到以下情況: 對(duì)著畫(huà)布無(wú)從下手、刪了又來(lái)? 如何用一張圖描述我的系統(tǒng),并且讓產(chǎn)品、運(yùn)營(yíng)、開(kāi)發(fā)都能看明白? 畫(huà)了一半的圖還不清楚受眾是誰(shuí)...
...平臺(tái)涵蓋了硬件、運(yùn)行時(shí)代碼庫(kù)、框架、服務(wù)及服務(wù)管理系統(tǒng)等。 做好云平臺(tái),做出一個(gè)安全、穩(wěn)定、高效的,能支持企業(yè)級(jí)大規(guī)模業(yè)務(wù)處理的云平臺(tái),需要哪些基本能力呢? 熟悉平臺(tái)所服務(wù)的業(yè)務(wù)環(huán)境 掌握軟件系統(tǒng)的工作...
...對(duì)你有所幫助。 當(dāng)我們想用一張或幾張圖來(lái)描述我們的系統(tǒng)時(shí),是不是經(jīng)常遇到以下情況: 對(duì)著畫(huà)布無(wú)從下手、刪了又來(lái)? 如何用一張圖描述我的系統(tǒng),并且讓產(chǎn)品、運(yùn)營(yíng)、開(kāi)發(fā)都能看明白? 畫(huà)了一半的圖還不清楚受眾是誰(shuí)...
每個(gè)軟件系統(tǒng)都提供兩個(gè)價(jià)值給利益相關(guān)者:表現(xiàn)和結(jié)構(gòu)。軟件開(kāi)發(fā)者應(yīng)的確保這兩個(gè)價(jià)值盡量高負(fù)責(zé)。然而很不幸,程序員很多只關(guān)心其中一個(gè)而忽略另一個(gè),甚至更不幸,他們可能關(guān)注的不是這兩個(gè)價(jià)值,留下沒(méi)有價(jià)值...
...-即衡量自動(dòng)化解決方案投資回報(bào)率(ROI)是決定應(yīng)用程序或系統(tǒng)實(shí)際成本效益的關(guān)鍵因素。6、提高組織的業(yè)務(wù)敏捷性---即組織能夠?qū)ψ兓龀龇磻?yīng)的效率,以適應(yīng)行業(yè)變化并超越競(jìng)爭(zhēng)對(duì)手。7、減少研發(fā)成本(IT成本)--即減少浪費(fèi)和...
...開(kāi)發(fā)完成后才能完成部署,降低了團(tuán)隊(duì)的靈活性。 降低系統(tǒng)的性能:原本可以直接訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)但是現(xiàn)在多了一層。 即使只包含一個(gè)功能點(diǎn), 也需要在各個(gè)層寫(xiě)上代碼。 系統(tǒng)啟動(dòng)慢:一個(gè)進(jìn)程包含了所有業(yè)務(wù)邏輯, 涉及的啟動(dòng)...
...能汽車(chē)與智能手機(jī)一樣,在硬件平臺(tái)上有一個(gè)強(qiáng)大的操作系統(tǒng)OS,在OS上面可以靈活開(kāi)發(fā)應(yīng)用軟件,運(yùn)行各種APP,但不同的是汽車(chē)與手機(jī)的功能屬性存在差異,汽車(chē)的軟硬件體量更加龐大,功能更加復(fù)雜,所以關(guān)于操作系統(tǒng)OS的定...
...據(jù)分布式存儲(chǔ)的部署模式:分離式or超融合數(shù)據(jù)中心內(nèi)部系統(tǒng)的核心要求是穩(wěn)定可靠,一是指系統(tǒng)在運(yùn)行過(guò)程中有能力提供連續(xù)可靠的服務(wù),長(zhǎng)時(shí)間無(wú)故障運(yùn)行;二是指當(dāng)故障發(fā)生之后,有能力快速定位,及時(shí)排查,故障范...
...此方法,以改造現(xiàn)有車(chē)輛程序和平臺(tái)上實(shí)施的現(xiàn)有功能或系統(tǒng)的EE架構(gòu)(逆向工程)。由于國(guó)內(nèi)OEM的現(xiàn)有功能不具備邏輯功能架構(gòu),因此我們建議將網(wǎng)絡(luò)拓?fù)洹⒕W(wǎng)絡(luò)通信ECUs平臺(tái)架構(gòu)、功能需求和用例場(chǎng)景作為分析SOA轉(zhuǎn)換的起點(diǎn)。但...
...化結(jié)合微服務(wù)、Java9 Jigsaw談?wù)劺斫狻?本書(shū)概括 以Java軟件系統(tǒng)為例,重點(diǎn)講解了應(yīng)用架構(gòu)中的物理設(shè)計(jì)問(wèn)題,即如何將軟件系統(tǒng)拆分為模塊化系統(tǒng)。所以?xún)?nèi)容組織包括為什么需要模塊化,圍繞如何實(shí)現(xiàn)模塊化講述了模塊化模式,...
...、軍隊(duì)、銀行、金融、農(nóng)業(yè)和零售等多個(gè)行業(yè)交付過(guò)運(yùn)營(yíng)系統(tǒng),這種實(shí)際運(yùn)營(yíng)的經(jīng)歷改變了他對(duì)軟件架構(gòu)的看法,也讓他對(duì)在相當(dāng)不友好的環(huán)境下構(gòu)建高性能、高可靠性的軟件有了獨(dú)特的見(jiàn)解。他寫(xiě)過(guò)多篇文章和社論,是軟件架...
ChatGPT和Sora等AI大模型應(yīng)用,將AI大模型和算力需求的熱度不斷帶上新的臺(tái)階。哪里可以獲得...
大模型的訓(xùn)練用4090是不合適的,但推理(inference/serving)用4090不能說(shuō)合適,...
圖示為GPU性能排行榜,我們可以看到所有GPU的原始相關(guān)性能圖表。同時(shí)根據(jù)訓(xùn)練、推理能力由高到低做了...