AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當(dāng)前位置:首頁(yè) > 科技  > 軟件

聊聊架構(gòu)設(shè)計(jì)流程:設(shè)計(jì)備選方案

來源: 責(zé)編: 時(shí)間:2024-04-19 09:29:10 166觀看
導(dǎo)讀作為架構(gòu)師,工作內(nèi)容并非迷霧重重。一個(gè)經(jīng)驗(yàn)豐富的架構(gòu)師必須對(duì)現(xiàn)有技術(shù)有深刻的了解,并且對(duì)已被實(shí)踐證明的架構(gòu)模式胸有成竹。基于對(duì)業(yè)務(wù)需求的深入理解,他們會(huì)選擇并組合恰當(dāng)?shù)募軜?gòu)模式,進(jìn)而對(duì)這些方案進(jìn)行必要的修改和

作為架構(gòu)師,工作內(nèi)容并非迷霧重重。一個(gè)經(jīng)驗(yàn)豐富的架構(gòu)師必須對(duì)現(xiàn)有技術(shù)有深刻的了解,并且對(duì)已被實(shí)踐證明的架構(gòu)模式胸有成竹。基于對(duì)業(yè)務(wù)需求的深入理解,他們會(huì)選擇并組合恰當(dāng)?shù)募軜?gòu)模式,進(jìn)而對(duì)這些方案進(jìn)行必要的修改和優(yōu)化。MKI28資訊網(wǎng)——每日最新資訊28at.com

盡管軟件技術(shù)經(jīng)歷了幾十年的發(fā)展,并且持續(xù)涌現(xiàn)新技術(shù),成熟的技術(shù)仍占主導(dǎo),因?yàn)檫@些技術(shù)已被眾多應(yīng)用場(chǎng)景所驗(yàn)證。例如,涉及高可用性的主備方案、集群技術(shù),高性能的負(fù)載均衡、多路復(fù)用技術(shù),以及可擴(kuò)展的分層和插件化技術(shù)等,這些都是在明確目標(biāo)后可以迅速找到的解決方案。MKI28資訊網(wǎng)——每日最新資訊28at.com

通常情況下,只有當(dāng)現(xiàn)有方案無法滿足特定需求時(shí),我們才考慮創(chuàng)新。然而,這些創(chuàng)新大多仍然建立在成熟的技術(shù)之上。MKI28資訊網(wǎng)——每日最新資訊28at.com

例如,NoSQL 中的 Key-Value 存儲(chǔ)與數(shù)據(jù)庫(kù)索引本質(zhì)上相似,而 Memcache 實(shí)際上是將數(shù)據(jù)庫(kù)索引轉(zhuǎn)變成獨(dú)立的緩存系統(tǒng)。MKI28資訊網(wǎng)——每日最新資訊28at.com

Hadoop 的大文件存儲(chǔ)解決方案,基于的是集群和數(shù)據(jù)復(fù)制的技術(shù)。MKI28資訊網(wǎng)——每日最新資訊28at.com

Docker 的虛擬化技術(shù)是建立在 Linux 容器(LXC)之上的。MKI28資訊網(wǎng)——每日最新資訊28at.com

同樣,LevelDB 使用的文件存儲(chǔ)結(jié)構(gòu)是跳表(Skip List)。MKI28資訊網(wǎng)——每日最新資訊28at.com

MKI28資訊網(wǎng)——每日最新資訊28at.com

在《技術(shù)的本質(zhì)》一書中,對(duì)技術(shù)的組合有清晰的闡述:新技術(shù)都是在現(xiàn)有技術(shù)的基礎(chǔ)上發(fā)展起來的,現(xiàn)有技術(shù)又來源于先前的技術(shù)。將技術(shù)進(jìn)行功能性分組,可以大大簡(jiǎn)化設(shè)計(jì)過程,這是技術(shù)“模塊化”的首要原因。技術(shù)的“組合”和“遞歸”特征,將徹底改變我們對(duì)技術(shù)本質(zhì)的認(rèn)識(shí)。MKI28資訊網(wǎng)——每日最新資訊28at.com

盡管在很多情況下,通過組合和調(diào)整現(xiàn)有的技術(shù)或架構(gòu)模式,我們可以得到所需的解決方案,但這并不意味著架構(gòu)設(shè)計(jì)是一項(xiàng)簡(jiǎn)單的工作。由于可供選擇的模式眾多,可能的組合方案更是數(shù)不勝數(shù),常常導(dǎo)致同一個(gè)問題可能有多種解決方案。如果在這些組合方案中加入創(chuàng)新元素,可選的解決方案則會(huì)增加更多。因此,設(shè)計(jì)最終的方案并不是一件容易的事,這一階段也常是許多架構(gòu)師易于出錯(cuò)的環(huán)節(jié)。MKI28資訊網(wǎng)——每日最新資訊28at.com

首先,一個(gè)常見的錯(cuò)誤是追求設(shè)計(jì)出最完美的架構(gòu)。許多架構(gòu)師在設(shè)計(jì)時(shí)常常懷有一種技術(shù)情結(jié),認(rèn)為只有設(shè)計(jì)出一流的架構(gòu)才能展示他們的技術(shù)水平。例如,在設(shè)計(jì)高可用性方案時(shí),他們可能會(huì)偏好使用集群方案而不是主備方案,因?yàn)榍罢吒觾?yōu)越和強(qiáng)大;在高性能方案中,可能會(huì)傾向于使用業(yè)界領(lǐng)先的技術(shù)如淘寶的某種方案。MKI28資訊網(wǎng)——每日最新資訊28at.com

然而,根據(jù)“適用原則”和“簡(jiǎn)單原則”,選擇適合自己業(yè)務(wù)、團(tuán)隊(duì)和技術(shù)能力的方案才是更為理智的選擇。否則,可能會(huì)造成資源的浪費(fèi),如開發(fā)了遠(yuǎn)超實(shí)際需要的系統(tǒng),或者設(shè)計(jì)出的系統(tǒng)根本無法由現(xiàn)有團(tuán)隊(duì)實(shí)現(xiàn)。MKI28資訊網(wǎng)——每日最新資訊28at.com

第二個(gè)常見錯(cuò)誤是只制定一個(gè)方案。許多架構(gòu)師可能會(huì)在心中簡(jiǎn)單比較幾個(gè)方案,然后選擇一個(gè)看似最佳的方案進(jìn)行深入設(shè)計(jì)。這種做法存在多個(gè)缺點(diǎn):評(píng)估可能過于膚淺,沒有全面考慮,或是由于某個(gè)方案的一個(gè)缺點(diǎn)就草率地否決了它,而忽略了這可能是綜合最優(yōu)的選擇。架構(gòu)師的經(jīng)驗(yàn)和知識(shí)是有限的,有時(shí)候他們的評(píng)估標(biāo)準(zhǔn)可能已過時(shí)或不適用于新情況,或者某些評(píng)估標(biāo)準(zhǔn)本身就是錯(cuò)誤的。MKI28資訊網(wǎng)——每日最新資訊28at.com

因此,架構(gòu)師應(yīng)該設(shè)計(jì)多個(gè)備選方案,理想的方案數(shù)量是三到五個(gè)。少于三個(gè)可能由于思考不夠全面,多于五個(gè)則可能花費(fèi)過多時(shí)間和精力,且方案間的差異可能不明顯。備選方案應(yīng)具有較大的差異性,如主備和集群方案的區(qū)別,或者不同技術(shù)實(shí)現(xiàn)主備的差異明顯,如使用ZooKeeper與使用Keepalived。MKI28資訊網(wǎng)——每日最新資訊28at.com

最后,第三個(gè)錯(cuò)誤是備選方案過于詳細(xì)。一些架構(gòu)師可能會(huì)將備選方案寫得非常詳細(xì),這不僅消耗大量時(shí)間和精力,還可能使人過于關(guān)注細(xì)節(jié)而忽視整體設(shè)計(jì),從而導(dǎo)致備選方案數(shù)量不足或差異不大。正確的方法是在備選階段關(guān)注技術(shù)選型的顯著差異,而不是深入到技術(shù)細(xì)節(jié)。例如,使用ZooKeeper與Keepalived來實(shí)現(xiàn)主備就是一個(gè)較大的技術(shù)差異,而在使用相同技術(shù)的方案中進(jìn)行細(xì)節(jié)上的區(qū)分,如節(jié)點(diǎn)設(shè)計(jì)的微小變化,這樣的區(qū)分在備選階段并不必要,具體的節(jié)點(diǎn)設(shè)計(jì)可以在最終方案中決定。MKI28資訊網(wǎng)——每日最新資訊28at.com

方案:MKI28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片MKI28資訊網(wǎng)——每日最新資訊28at.com

方案概述如下:MKI28資訊網(wǎng)——每日最新資訊28at.com

  • 實(shí)施一個(gè)分散數(shù)據(jù)的集群架構(gòu),集群內(nèi)的服務(wù)器按組劃分,每組負(fù)責(zé)存儲(chǔ)特定部分的消息數(shù)據(jù)。
  • 每個(gè)服務(wù)器組配置一臺(tái)主用 MySQL 和一臺(tái)備用 MySQL,組內(nèi)實(shí)現(xiàn)主備數(shù)據(jù)復(fù)制,而組間數(shù)據(jù)保持獨(dú)立不進(jìn)行同步。
  • 在正常運(yùn)行時(shí),每組的主服務(wù)器負(fù)責(zé)處理外部的消息寫入和讀取請(qǐng)求,備服務(wù)器則不提供服務(wù)。若主服務(wù)器發(fā)生故障,備服務(wù)器將接管并提供消息讀取服務(wù)。
  • 客戶端使用輪詢策略進(jìn)行消息的寫入和讀取操作。

MKI28資訊網(wǎng)——每日最新資訊28at.com

備選方案 3:自主研發(fā)存儲(chǔ)系統(tǒng)的集群方案MKI28資訊網(wǎng)——每日最新資訊28at.com

在備選方案 2 的基礎(chǔ)上,我們考慮替換 MySQL 存儲(chǔ),因?yàn)殛P(guān)系型數(shù)據(jù)庫(kù)的特性并不完全符合消息隊(duì)列的數(shù)據(jù)處理需求。借鑒 Kafka 的設(shè)計(jì)思路,可以自行開發(fā)一套專門的文件存儲(chǔ)和復(fù)制系統(tǒng)(具體方案細(xì)節(jié)將在實(shí)際設(shè)計(jì)階段詳細(xì)闡述)。MKI28資訊網(wǎng)——每日最新資訊28at.com

從高性能消息讀取的單機(jī)系統(tǒng)設(shè)計(jì)來看,由于團(tuán)隊(duì)主要使用 Java,備選方案 2 和 3 均采用了基于 Netty 的高性能網(wǎng)絡(luò)庫(kù)。這反映了團(tuán)隊(duì)的技術(shù)背景對(duì)選擇范圍的影響。一般而言,成熟的團(tuán)隊(duì)不易頻繁更換技術(shù)棧,而新成立的團(tuán)隊(duì)則更可能嘗試新技術(shù)。MKI28資訊網(wǎng)——每日最新資訊28at.com

以上簡(jiǎn)要介紹了三種備選方案以示范設(shè)計(jì)流程,實(shí)際應(yīng)用中方案會(huì)更為復(fù)雜。架構(gòu)師的技術(shù)儲(chǔ)備和經(jīng)驗(yàn)越豐富,能夠提供的備選方案就越多,這有助于更有效地制定設(shè)計(jì)方案。例如,在開源方案中不僅可以選擇 Kafka,還可以考慮 ActiveMQ、RabbitMQ 等;在考慮集群的存儲(chǔ)方案時(shí),除了 MySQL,還可以考慮使用 HBase 或?qū)?Redis 與 MySQL 結(jié)合使用;自研的文件系統(tǒng)也可以參考 Kafka、LevelDB 或 HBase 等多種模型。這里由于篇幅限制,不再詳細(xì)展開。MKI28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-84026-0.html聊聊架構(gòu)設(shè)計(jì)流程:設(shè)計(jì)備選方案

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: C# 并發(fā)設(shè)計(jì)的七條原則,你知道哪條?

下一篇: 快手二面:你有沒有調(diào)用過第三方接口?碰到過哪些坑?

標(biāo)簽:
  • 熱門焦點(diǎn)
  • 鴻蒙OS 4.0公測(cè)機(jī)型公布:甚至連nova6都支持

    華為全新的HarmonyOS 4.0操作系統(tǒng)將于今天下午正式登場(chǎng),官方在發(fā)布會(huì)之前也已經(jīng)正式給出了可升級(jí)的機(jī)型產(chǎn)品,這意味著這些機(jī)型會(huì)率先支持升級(jí)享用。這次的HarmonyOS 4.0支持
  • 5月安卓手機(jī)好評(píng)榜:魅族20 Pro奪冠

    性能榜和性價(jià)比榜之后,我們來看最后的安卓手機(jī)好評(píng)榜,數(shù)據(jù)來源安兔兔評(píng)測(cè),收集時(shí)間2023年5月1日至5月31日,僅限國(guó)內(nèi)市場(chǎng)。第一名:魅族20 Pro好評(píng)率:97.50%不得不感慨魅族老品牌還
  • 十個(gè)可以手動(dòng)編寫的 JavaScript 數(shù)組 API

    JavaScript 中有很多API,使用得當(dāng),會(huì)很方便,省力不少。 你知道它的原理嗎? 今天這篇文章,我們將對(duì)它們進(jìn)行一次小總結(jié)。現(xiàn)在開始吧。1.forEach()forEach()用于遍歷數(shù)組接收一參
  • Rust中的高吞吐量流處理

    作者 | Noz編譯 | 王瑞平本篇文章主要介紹了Rust中流處理的概念、方法和優(yōu)化。作者不僅介紹了流處理的基本概念以及Rust中常用的流處理庫(kù),還使用這些庫(kù)實(shí)現(xiàn)了一個(gè)流處理程序
  • 為什么你不應(yīng)該使用Div作為可點(diǎn)擊元素

    按鈕是為任何網(wǎng)絡(luò)應(yīng)用程序提供交互性的最常見方式。但我們經(jīng)常傾向于使用其他HTML元素,如 div span 等作為 clickable 元素。但通過這樣做,我們錯(cuò)過了許多內(nèi)置瀏覽器的功能。
  • 共享單車的故事講到哪了?

    來源丨海克財(cái)經(jīng)與共享充電寶相差不多,共享單車已很久沒有被國(guó)內(nèi)熱點(diǎn)新聞關(guān)照到了。除了一再漲價(jià)和用戶直呼用不起了。近日多家媒體再發(fā)報(bào)道稱,成都、天津、鄭州等地多個(gè)共享單
  • 華為Mate 60保護(hù)殼曝光:碩大后置相機(jī)模組 凸起程度有驚喜

    這段時(shí)間以來,關(guān)于華為新旗艦的爆料日漸密集。據(jù)此前多方爆料,今年華為將開始恢復(fù)一年雙旗艦戰(zhàn)略,除上半年推出的P60系列外,往年下半年的Mate系列也將
  • 華為和江淮汽車合作開發(fā)百萬元問界MPV?雙方回應(yīng)來了

    8月1日消息,郭明錤今天在社交平臺(tái)發(fā)文稱,華為正在和江淮汽車合作,開發(fā)售價(jià)在100萬元的問界MPV,預(yù)計(jì)在2024年第2季度量產(chǎn),銷量目標(biāo)為上市首年交付5萬輛。
  • 微軟發(fā)布Windows 11新版 引入全新任務(wù)欄狀態(tài)

    近日,微軟發(fā)布了Windows 11新版,而Build 22563更新主要引入了幾周前曝光的平板模式任務(wù)欄等,系統(tǒng)更流暢了。更新中,Windows 11加入了專門針對(duì)平板優(yōu)化的任務(wù)欄
Top