官术网_书友最值得收藏!

1.4 軟件架構(gòu)的常用技術(shù)棧

如果缺乏良好的技術(shù)儲備,那么就很難設(shè)計出良好的軟件架構(gòu)。而當前新技術(shù)層出不窮,若想涉足每個技術(shù)領(lǐng)域,則幾乎是不可能的事情。怎么辦?我們可以嘗試從時空視角對軟件架構(gòu)中的常用技術(shù)棧進行分類。架構(gòu)設(shè)計的常用技術(shù)棧如圖1-2所示。

圖1-2 架構(gòu)設(shè)計的常用技術(shù)棧

圖1-2左側(cè)所示的是空間維度的相關(guān)技術(shù)。

? 操作系統(tǒng):確定了軟件架構(gòu)的環(huán)境邊界。

? 數(shù)據(jù)存儲:因為數(shù)據(jù)是軟件的核心,所以我們必須了解文件系統(tǒng)、對象存儲、關(guān)系型數(shù)據(jù)庫以及NoSQL數(shù)據(jù)庫等與數(shù)據(jù)存儲相關(guān)的技術(shù)。

? 網(wǎng)絡(luò)通信:這是一個覆蓋更廣泛的概念,至少要掌握7層協(xié)議模型和一些主流的通信協(xié)議,如DNS、TCP/IP、HTTP,以及不同網(wǎng)絡(luò)協(xié)議對網(wǎng)絡(luò)編程的影響。

? 框架與庫:與采用的編程語言密切相關(guān),不同的語言有不同的框架與庫,可選項眾多,需要從面向領(lǐng)域和場景的角度進行選擇。

? 安全:這里就不展開介紹了。

? 微服務:這是一種架構(gòu)方法,這里僅將微服務架構(gòu)作為典型代表進行介紹。服務的劃分與業(yè)務緊密相關(guān),服務獨立后需要考慮服務的發(fā)現(xiàn)和服務間的通信,最后是服務治理。

? 云服務:云服務的出現(xiàn)使得小團隊也能完成大事情,這里的云服務指的是基礎(chǔ)設(shè)施即服務(XaaS)。

? 大數(shù)據(jù)/AI:這必將成為工程師團隊的重要戰(zhàn)力,涉及專業(yè)知識、數(shù)學算法和計算環(huán)境。大數(shù)據(jù)的相關(guān)技術(shù)也是人工智能賦能軟件的基礎(chǔ)。

圖1-2右側(cè)所示的是時間維度的相關(guān)技術(shù),主要包括運行架構(gòu)(尤其是與性能相關(guān)的)的技術(shù),以及決策流程所涉技術(shù)和方法(尤其是與研發(fā)效率相關(guān)的)。

? 開發(fā)環(huán)境:工具對工作的重要性不言而喻,開發(fā)環(huán)境在工程效率中占據(jù)首要地位,也是開發(fā)架構(gòu)中的重要組成部分。

? 編程語言:不同的編程語言適用于不同的場景。一般來說,編程語言并沒有優(yōu)劣之分,不同的編程語言各有所長。

? 敏捷開發(fā):每個人都不是“單打獨斗”的,掌握協(xié)同工具以及支持CI/CD的工具鏈或者平臺,可以使團隊更加敏捷并提高整體的研發(fā)效率。此外,敏捷開發(fā)并不是以犧牲軟件質(zhì)量為代價的。

? DevOps:開發(fā)架構(gòu)中的一種組織方式。

? 業(yè)務與代碼:業(yè)務是軟件提供的能力,代碼是軟件的實現(xiàn)載體,都是軟件不可或缺的要素。

? 運行時調(diào)優(yōu):在運行架構(gòu)中,性能是諸多非功能性約束中的首要因素,直接影響用戶的體驗。首先,要從業(yè)務和代碼層面確保性能,而單元測試是必要的條件。在運行時進行調(diào)優(yōu),或者說是單機性能優(yōu)化時,通常從加載和依賴開始,包括代碼優(yōu)化和虛擬機優(yōu)化,如Java語言的VM調(diào)優(yōu)、Linux內(nèi)核參數(shù)調(diào)優(yōu)。

? 數(shù)據(jù)訪問:數(shù)據(jù)庫往往是整個系統(tǒng)的性能瓶頸,數(shù)據(jù)訪問必須具備高可用性,選擇和使用數(shù)據(jù)連接池是必備條件。

? 緩存:該技術(shù)是降低負載、提高系統(tǒng)性能的必備技術(shù),可以在客戶端、網(wǎng)絡(luò)側(cè)和服務端3個環(huán)節(jié)應用緩存技術(shù)。

? 均衡:指的是負載均衡,這同樣是一種以空間換時間的技術(shù)。

? 消息隊列:可以通過消息隊列來提升傳輸性能。

那么,為什么系統(tǒng)性能在諸多非功能性約束中排在第一位呢?下一章將對系統(tǒng)性能展開進一步討論。

主站蜘蛛池模板: 连江县| 珲春市| 婺源县| 贵州省| 磐安县| 加查县| 安吉县| 溧水县| 冷水江市| 江达县| 荥阳市| 寻甸| 浦东新区| 双柏县| 梧州市| 华宁县| 福泉市| 中卫市| 铜梁县| 天峨县| 介休市| 宝应县| 舟曲县| 巍山| 商城县| 鲁甸县| 横山县| 建始县| 综艺| 紫云| 南充市| 卢湾区| 玉树县| 鱼台县| 赣州市| 和田市| 正镶白旗| 连州市| 明水县| 保康县| 蚌埠市|