回答:軟件產(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é)。然而隨...
回答:從系統(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ù)邏輯層代碼層面常...
回答:如果項(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ò)一定的策略...
回答: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)變...
回答:以mysql為列:1:支撐高并發(fā)系統(tǒng),一定會(huì)涉及事務(wù),所以數(shù)據(jù)庫(kù)引擎必選innodb,innodb支持事務(wù),事務(wù)級(jí)別根據(jù)業(yè)務(wù)而定,如果業(yè)務(wù)數(shù)據(jù)一致性要求很高,事務(wù)就開(kāi)啟序列化級(jí)別,這樣就完全隔離事務(wù),但是會(huì)導(dǎo)致鎖資源競(jìng)爭(zhēng)加劇。mysql的性能有一定的降低。2:讀寫(xiě)分離,數(shù)據(jù)庫(kù)分成主庫(kù)和從庫(kù),主庫(kù)負(fù)責(zé)寫(xiě)數(shù)據(jù),叢庫(kù)負(fù)責(zé)讀數(shù)據(jù)。注意主從數(shù)據(jù)庫(kù)數(shù)據(jù)一致性問(wèn)題。3:冷熱數(shù)據(jù)分離,美團(tuán),餓了么部分設(shè)計(jì)采用冷熱...
為什么需要架構(gòu)可視化 隨著企業(yè)進(jìn)行微服務(wù)架構(gòu)改造,系統(tǒng)架構(gòu)復(fù)雜度越來(lái)越高,架構(gòu)變化日益頻繁,微服務(wù)改造后的實(shí)際架構(gòu)模型可能與預(yù)期已經(jīng)產(chǎn)生了巨大差異,架構(gòu)師或系統(tǒng)運(yùn)維人員很難準(zhǔn)確記憶所有資源實(shí)例的構(gòu)成...
...構(gòu)師的。你需要有退后一步看代碼的能力,從而理解特定軟件系統(tǒng)背后的設(shè)計(jì)決策。退后一步才能看到大局,這是架構(gòu)師必須掌握的核心技能。這就是為什么《程序員必讀之軟件架構(gòu)》一書(shū)中加入了有關(guān)C4模型的內(nèi)容,這是...
...循相關(guān)決策。架構(gòu)圖的設(shè)計(jì)系統(tǒng)架構(gòu)圖是為了抽象地表示軟件系統(tǒng)的整體輪廓和各個(gè)組件之間的相互關(guān)系和約束邊界,以及軟件系統(tǒng)的物理部署和軟件系統(tǒng)的演進(jìn)方向的整體視圖架構(gòu)類(lèi)型單體架構(gòu)、分布式架構(gòu)、SOA架構(gòu)、微服務(wù)...
...決策。 2、什么是架構(gòu)圖? 系統(tǒng)架構(gòu)圖是為了抽象地表示軟件系統(tǒng)的整體輪廓和各個(gè)組件之間的相互關(guān)系和約束邊界,以及軟件系統(tǒng)的物理部署和軟件系統(tǒng)的演進(jìn)方向的整體視圖。 3、架構(gòu)圖的作用 一圖勝千言。要讓干系人理解...
...過(guò)程,這個(gè)分治思維非常重要,我們后面會(huì)講。 我認(rèn)為軟件系統(tǒng)架構(gòu)設(shè)計(jì)和小朋友搭積木無(wú)本質(zhì)差異,只是解決的問(wèn)題域和規(guī)模不同罷了。架構(gòu)師先要在大腦中形成抽象概念,然后是子模塊分解,然后是依次實(shí)現(xiàn)子模塊,最后...
...過(guò)程,這個(gè)分治思維非常重要,我們后面會(huì)講。 我認(rèn)為軟件系統(tǒng)架構(gòu)設(shè)計(jì)和小朋友搭積木無(wú)本質(zhì)差異,只是解決的問(wèn)題域和規(guī)模不同罷了。架構(gòu)師先要在大腦中形成抽象概念,然后是子模塊分解,然后是依次實(shí)現(xiàn)子模塊,最后...
...需要哪些基本能力呢? 熟悉平臺(tái)所服務(wù)的業(yè)務(wù)環(huán)境 掌握軟件系統(tǒng)的工作原理 擁有架構(gòu)理論及經(jīng)驗(yàn) 項(xiàng)目管理 文檔及表達(dá) 熟悉平臺(tái)所服務(wù)的業(yè)務(wù)環(huán)境 業(yè)務(wù)是信息系統(tǒng)的靈魂,只有能夠支撐業(yè)務(wù)運(yùn)營(yíng)、業(yè)務(wù)發(fā)展的企業(yè)信息系統(tǒng)...
1、大型網(wǎng)站技術(shù)架構(gòu):核心原理與案例分析 本書(shū)通過(guò)梳理大型網(wǎng)站技術(shù)發(fā)展歷程,剖析大型網(wǎng)站技術(shù)架構(gòu)模式,深入講述大型互聯(lián)網(wǎng)架構(gòu)設(shè)計(jì)的核心原理,并通過(guò)一組典型網(wǎng)站技術(shù)架構(gòu)設(shè)計(jì)案例,為讀者呈現(xiàn)一幅包括技術(shù)...
...發(fā)展, 云計(jì)算近十年也得到蓬勃發(fā)展, 企業(yè)的IT環(huán)境和IT架構(gòu)也逐漸在發(fā)生變革,從過(guò)去的單體應(yīng)用架構(gòu)發(fā)展為至今廣泛流行的微服務(wù)架構(gòu)。 微服務(wù)是一種架構(gòu)風(fēng)格, 能給軟件應(yīng)用開(kāi)發(fā)帶來(lái)很大的便利,但是微服務(wù)的實(shí)施和落...
...決策。 2、什么是架構(gòu)圖? 系統(tǒng)架構(gòu)圖是為了抽象地表示軟件系統(tǒng)的整體輪廓和各個(gè)組件之間的相互關(guān)系和約束邊界,以及軟件系統(tǒng)的物理部署和軟件系統(tǒng)的演進(jìn)方向的整體視圖。 3、架構(gòu)圖的作用 一圖勝千言。要讓干系人理解...
最近訂閱了一些架構(gòu)方面的資料,閱讀后獲益匪淺,想著整理一些自己的體會(huì)與思考,形成架構(gòu)方面的讀書(shū)筆記,一來(lái)與大家交流,二來(lái)通過(guò)文字的形式檢查自己到底收獲多少! 我們系統(tǒng)是MVC架構(gòu)的 淘寶的架構(gòu)好屌...
...要有考察開(kāi)發(fā)過(guò)程及運(yùn)營(yíng)過(guò)程的機(jī)制,以確定最終交付的軟件系統(tǒng)復(fù)合架構(gòu)設(shè)計(jì)及開(kāi)展架構(gòu)設(shè)計(jì)的持續(xù)改善工作。 二、制定目標(biāo) 為了達(dá)到這些我們架構(gòu)管控的目標(biāo)又是什么呢?發(fā)布一份指導(dǎo)意見(jiàn)?發(fā)布一份制度說(shuō)明?發(fā)布一份...
前言 架構(gòu)是一款軟件從0到100的演變過(guò)程。并非是上來(lái)就可以承載什么億級(jí)訪(fǎng)問(wèn)的牛x架構(gòu)什么的。本篇寫(xiě)給那些想要成為架構(gòu)師或者正在嘗試成為架構(gòu)師的朋友。 陜西的城墻有架構(gòu),阻擋外來(lái)攻擊 兵馬俑黃陵有架構(gòu),避免...
前言 架構(gòu)是一款軟件從0到100的演變過(guò)程。并非是上來(lái)就可以承載什么億級(jí)訪(fǎng)問(wèn)的牛x架構(gòu)什么的。本篇寫(xiě)給那些想要成為架構(gòu)師或者正在嘗試成為架構(gòu)師的朋友。 陜西的城墻有架構(gòu),阻擋外來(lái)攻擊 兵馬俑黃陵有架構(gòu),避免...
ChatGPT和Sora等AI大模型應(yīng)用,將AI大模型和算力需求的熱度不斷帶上新的臺(tái)階。哪里可以獲得...
大模型的訓(xùn)練用4090是不合適的,但推理(inference/serving)用4090不能說(shuō)合適,...
圖示為GPU性能排行榜,我們可以看到所有GPU的原始相關(guān)性能圖表。同時(shí)根據(jù)訓(xùn)練、推理能力由高到低做了...