1. 基本信息 構(gòu)建可擴(kuò)展分布式系統(tǒng):方法與實(shí)踐 [美]伊恩·戈頓(Ian Gorton)著 機(jī)械工業(yè)出版社,2024年5月出版 1.1. 讀薄率 書(shū)籍總字?jǐn)?shù)188千字,筆記總字?jǐn)?shù)49688字。 讀薄率49688÷188000≈26.4% 1.2. 讀厚方向 設(shè)計(jì)模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ) 程序 ...
- 【編輯推薦】Microsoft Agent Framework 接入DeepSeek的優(yōu)雅姿勢(shì)(5/10/1152) ?
- 【最多推薦】我發(fā)現(xiàn)很多程序員都不會(huì)打日志。。。(4/9/804) ?
- 【最多評(píng)論】讓 AI 記住我家狗叫「十六」,原來(lái)只需要 5 分鐘(5/7/669) ?
- 【新聞?lì)^條】全球 80% 海域發(fā)現(xiàn)“吃塑料”細(xì)菌,已進(jìn)化出降解能力(0/8/369) ?
- 【特別頭條】誠(chéng)邀您體驗(yàn)阿里推出的新一代 Agentic 編程平臺(tái) Qoder(5/5/10740) ?
軟件工程課程 班級(jí)鏈接 作業(yè)要求 作業(yè)鏈接 作業(yè)目標(biāo) 需求分析和原型設(shè)計(jì) 學(xué)號(hào) 102201312 隊(duì)友 102201311張碩 使用墨刀構(gòu)建原型,原型鏈接:請(qǐng)點(diǎn)擊我 客戶(hù)現(xiàn)實(shí)困擾 ? 在大學(xué)里,一些有想法的學(xué)生希望通過(guò)發(fā)起或參與跨專(zhuān)業(yè)的項(xiàng)目(創(chuàng)業(yè)、學(xué)術(shù))來(lái)提升自己的綜合能力,拓寬知識(shí)面和積累人脈。 ...
1. 可擴(kuò)展系統(tǒng)的基本要素 1.1. 分布式系統(tǒng)在本質(zhì)上就是復(fù)雜的,你必須考慮多種故障模式,并設(shè)計(jì)應(yīng)對(duì)所有可能發(fā)生的情況的處理方式 1.2. 大規(guī)模應(yīng)用程序需要協(xié)調(diào)大量的硬件和軟件組件,共同實(shí)現(xiàn)低延遲和高吞吐量的能力 1.3. 面臨的挑戰(zhàn)是將所有活動(dòng)部件組合成一個(gè)應(yīng)用程序來(lái)運(yùn)行,使其既能滿足需求又不 ...
1. 流處理系統(tǒng) 1.1. 時(shí)間就是金錢(qián) 1.1.1. 從數(shù)據(jù)中提取有價(jià)值的知識(shí)和獲得洞見(jiàn)的速度越快,就能越快地響應(yīng)系統(tǒng)所觀察的世界的變化 1.1.2. 信用卡欺詐檢測(cè) 1.1.3. 網(wǎng)絡(luò)安全中異常網(wǎng)絡(luò)流量的捕獲 1.1.4. 在支持GPS的駕駛應(yīng)用程序中進(jìn)行的實(shí)時(shí)路線規(guī)劃 1.1.5. 社交媒體網(wǎng) ...
中介模式(Mediator)又稱(chēng)之為調(diào)停模式。mediator [?mi?die?t?(r)] n. 調(diào)停者;斡旋者;解決紛爭(zhēng)的人(或機(jī)構(gòu)); 本意就是解決糾紛的中間人它是面向?qū)ο罅笤瓌t中最少知道原則的一個(gè)典型應(yīng)用。(關(guān)于面向?qū)ο罅笤瓌t,可看前文:http://www.rzrgm.cn/ ...
1. 可擴(kuò)展的事件驅(qū)動(dòng)處理 1.1. 使用消息傳遞系統(tǒng)進(jìn)行通信,你可以創(chuàng)建松耦合的架構(gòu) 1.1.1. 消息生產(chǎn)者只是將消息存儲(chǔ)在隊(duì)列中,而不用關(guān)心消費(fèi)者如何處理消息 1.1.2. 有一個(gè)或多個(gè)消費(fèi)者,并且生產(chǎn)者和消費(fèi)者的集合可以隨著時(shí)間的推移而改變 1.1.3. 有助于提高服務(wù)響應(yīng)能力、通過(guò)緩存消除 ...
duxapp是基于Taro二次開(kāi)發(fā)的模塊化框架
使用這個(gè)框架,結(jié)合框架提供的UI庫(kù)和工具庫(kù),能幫助你快速且高質(zhì)量的完成項(xiàng)目,且能實(shí)現(xiàn)同時(shí)開(kāi)發(fā)小程序、H5、APP(React Native),并且保證各個(gè)端的一致性 ...
云設(shè)計(jì)模式介紹以及它們?nèi)绾螏椭鷳?yīng)對(duì)分布式計(jì)算的謬誤 作為構(gòu)建分布式系統(tǒng)的軟件工程師,我們經(jīng)常遇到諸如不可靠的網(wǎng)絡(luò)、延遲問(wèn)題和安全問(wèn)題等挑戰(zhàn)。"分布式計(jì)算的謬誤"描述了如果未解決,可能導(dǎo)致系統(tǒng)故障的常見(jiàn)誤解。但認(rèn)識(shí)到這些陷阱只是開(kāi)始。真正的問(wèn)題是:我們?nèi)绾斡行У乜朔鼈??這就是云設(shè)計(jì)模式發(fā)揮作用的地方 ...
1. Redis 1.1. 2009年首次發(fā)布 1.1.1. 更注重原始性能和簡(jiǎn)單性,而不是數(shù)據(jù)安全性和一致性 1.2. 主要吸引力在于它能夠同時(shí)充當(dāng)分布式緩存和數(shù)據(jù)存儲(chǔ) 1.3. 維護(hù)一個(gè)內(nèi)存中的數(shù)據(jù)存儲(chǔ),也稱(chēng)為數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)(data structure store) 1.4. 配置Redis將每 ...
大家好,我是湯師爺~ 今天聊聊SaaS業(yè)務(wù)架構(gòu)的業(yè)務(wù)能力分析。 業(yè)務(wù)能力概述 簡(jiǎn)單來(lái)說(shuō),業(yè)務(wù)能力是企業(yè)“做某事的能力”。 業(yè)務(wù)能力描述了企業(yè)當(dāng)前和未來(lái)應(yīng)對(duì)挑戰(zhàn)的能力,即企業(yè)能做什么或需要做什么。業(yè)務(wù)能力建模的關(guān)鍵在于定義了企業(yè)做什么,而不是如何做(由業(yè)務(wù)流程描述)。 以人才招聘為例,大多數(shù)公司都需要 ...
1. 強(qiáng)一致性 1.1. 最終一致數(shù)據(jù)庫(kù)通過(guò)跨多臺(tái)機(jī)器分區(qū)和復(fù)制數(shù)據(jù)集來(lái)獲得可擴(kuò)展性,其代價(jià)是要跨副本維持強(qiáng)數(shù)據(jù)一致性以及允許沖突寫(xiě)入 1.1.1. 在更新數(shù)據(jù)對(duì)象后,不同的客戶(hù)端可能會(huì)看到該對(duì)象的舊值或新值,直到所有副本都收斂到最新值 1.2. 另一類(lèi)分布式數(shù)據(jù)庫(kù)提供一種可替代的模型,即強(qiáng)一致性數(shù) ...
孫悟空可以用猴毛復(fù)制出很多跟自己長(zhǎng)得一模一樣的分身。在設(shè)計(jì)模式中也存在一個(gè)類(lèi)似的模式,可以通過(guò)一個(gè)原型對(duì)象克隆出多個(gè)一模一樣的對(duì)象,該模式被稱(chēng)為原型模式。 一、原型模式 1. 定義:使用原型實(shí)例指定創(chuàng)建對(duì)象的種類(lèi),并且通過(guò)克隆這些原型創(chuàng)建新的對(duì)象。原型模式是一種對(duì)象創(chuàng)建型模式。 2. 工作原理:將一 ...
1. 最終一致性 1.1. 在一些應(yīng)用領(lǐng)域,通常談?wù)摰氖倾y行和金融行業(yè),最終一致性根本不合適 1.2. 事實(shí)上,最終一致性在銀行業(yè)已經(jīng)使用了很多年 1.2.1. 支票需要幾天時(shí)間才能在你的賬戶(hù)上進(jìn)行核對(duì),而且你可以輕松地開(kāi)出比賬戶(hù)余額多的支票 1.2.2. 當(dāng)處理檢查并建立一致性后,你才能看到一些后 ...
大家好,我是湯師爺~ 今天聊聊SaaS架構(gòu)中的流程架構(gòu)分析。 業(yè)務(wù)流程的概念 業(yè)務(wù)流程是企業(yè)為實(shí)現(xiàn)目標(biāo)而制定的一套系統(tǒng)化的工作方法。它由一系列有序的業(yè)務(wù)活動(dòng)組成,按照既定規(guī)則將資源(輸入)轉(zhuǎn)化為有價(jià)值的結(jié)果(輸出)。這一過(guò)程需結(jié)合企業(yè)的具體情況和可用資源,旨在為客戶(hù)創(chuàng)造價(jià)值,同時(shí)達(dá)成企業(yè)目標(biāo)。 通過(guò) ...
1. 可擴(kuò)展數(shù)據(jù)庫(kù)基礎(chǔ) 1.1. 絕大多數(shù)應(yīng)用程序都是基于關(guān)系數(shù)據(jù)庫(kù)技術(shù)構(gòu)建的 1.2. 數(shù)據(jù)庫(kù)必須存儲(chǔ)大量數(shù)據(jù),為分布在全球的客戶(hù)端提供快速的查詢(xún)響應(yīng),并且全天候可用 1.3. NoSQL數(shù)據(jù)庫(kù)采用簡(jiǎn)單的數(shù)據(jù)模型,可以復(fù)制和分區(qū)以支持海量數(shù)據(jù)集和請(qǐng)求量 1.4. Facebook以使用MySQL管 ...
1. 微服務(wù) 1.1. 微服務(wù)的起源可以追溯到2008年左右 1.1.1. 在Amazon,?“兩個(gè)比薩原則”成為一個(gè)單系統(tǒng)組件團(tuán)隊(duì)規(guī)模的管理原則,后來(lái)被稱(chēng)為微服務(wù) 1.1.1.1. 每個(gè)內(nèi)部團(tuán)隊(duì)都應(yīng)該小到可以用兩個(gè)比薩餅喂飽 1.1.2. Amazon和Netflix是微服務(wù)架構(gòu)的先驅(qū),他們?cè)?0 ...
1. 無(wú)服務(wù)器的魅力 1.1. 對(duì)于某些應(yīng)用程序,負(fù)載在工作時(shí)間可能很高,而在非工作時(shí)間可能很低或者不存在 1.2. 其他應(yīng)用程序后臺(tái)流量可能在99%的時(shí)間里都很低 1.2.1. 一旦到了一些大型節(jié)目的門(mén)票發(fā)布時(shí)間,負(fù)載需求可能會(huì)在數(shù)小時(shí)內(nèi)飆升至平均水平的10000倍,然后回落至正常水平 1.3. ...
1. 異步消息傳遞 1.1. 通信是分布式系統(tǒng)的基礎(chǔ),也是架構(gòu)師需要納入其系統(tǒng)設(shè)計(jì)的主要問(wèn)題 1.2. 客戶(hù)端發(fā)送請(qǐng)求并等待服務(wù)器響應(yīng) 1.2.1. 這就是大多數(shù)分布式通信的設(shè)計(jì)方式,因?yàn)榭蛻?hù)端需要得到即時(shí)響應(yīng)后才能繼續(xù) 1.2.2. 并非所有系統(tǒng)都有這個(gè)要求 1.3. 使用異步通信的方式,客戶(hù)端( ...
1. 分布式緩存 1.1. 緩存存在于應(yīng)用程序的許多地方 1.1.1. 行應(yīng)用程序的CPU具有高速多級(jí)硬件緩存,可以減少相對(duì)較慢的主內(nèi)存訪問(wèn) 1.1.2. 數(shù)據(jù)庫(kù)引擎可以利用主內(nèi)存來(lái)緩存數(shù)據(jù)存儲(chǔ)的內(nèi)容,這樣在許多情況下查詢(xún)就可以不用訪問(wèn)速度相對(duì)較慢的磁盤(pán) 1.2. 分布式緩存是可擴(kuò)展系統(tǒng)的重要組成部 ...
1. 應(yīng)用服務(wù) 1.1. 任何系統(tǒng)的核心都在于實(shí)現(xiàn)應(yīng)用需求的特定業(yè)務(wù)邏輯 1.2. 服務(wù)是可擴(kuò)展軟件系統(tǒng)的核心 1.2.1. 它們將契約定義為一個(gè)API,向客戶(hù)端聲明它們的能力 1.3. 應(yīng)用服務(wù)器高度依賴(lài)于編程語(yǔ)言,但通常都會(huì)提供多線程編程模型,允許服務(wù)同時(shí)處理許多請(qǐng)求 1.4. 多服務(wù)配置意味著 ...