日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

聊聊架構設計流程:設計備選方案

來源: 責編: 時間:2024-04-19 09:29:10 168觀看
導讀作為架構師,工作內容并非迷霧重重。一個經驗豐富的架構師必須對現有技術有深刻的了解,并且對已被實踐證明的架構模式胸有成竹。基于對業務需求的深入理解,他們會選擇并組合恰當的架構模式,進而對這些方案進行必要的修改和

作為架構師,工作內容并非迷霧重重。一個經驗豐富的架構師必須對現有技術有深刻的了解,并且對已被實踐證明的架構模式胸有成竹。基于對業務需求的深入理解,他們會選擇并組合恰當的架構模式,進而對這些方案進行必要的修改和優化。GJB28資訊網——每日最新資訊28at.com

盡管軟件技術經歷了幾十年的發展,并且持續涌現新技術,成熟的技術仍占主導,因為這些技術已被眾多應用場景所驗證。例如,涉及高可用性的主備方案、集群技術,高性能的負載均衡、多路復用技術,以及可擴展的分層和插件化技術等,這些都是在明確目標后可以迅速找到的解決方案。GJB28資訊網——每日最新資訊28at.com

通常情況下,只有當現有方案無法滿足特定需求時,我們才考慮創新。然而,這些創新大多仍然建立在成熟的技術之上。GJB28資訊網——每日最新資訊28at.com

例如,NoSQL 中的 Key-Value 存儲與數據庫索引本質上相似,而 Memcache 實際上是將數據庫索引轉變成獨立的緩存系統。GJB28資訊網——每日最新資訊28at.com

Hadoop 的大文件存儲解決方案,基于的是集群和數據復制的技術。GJB28資訊網——每日最新資訊28at.com

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

同樣,LevelDB 使用的文件存儲結構是跳表(Skip List)。GJB28資訊網——每日最新資訊28at.com

GJB28資訊網——每日最新資訊28at.com

在《技術的本質》一書中,對技術的組合有清晰的闡述:新技術都是在現有技術的基礎上發展起來的,現有技術又來源于先前的技術。將技術進行功能性分組,可以大大簡化設計過程,這是技術“模塊化”的首要原因。技術的“組合”和“遞歸”特征,將徹底改變我們對技術本質的認識。GJB28資訊網——每日最新資訊28at.com

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

首先,一個常見的錯誤是追求設計出最完美的架構。許多架構師在設計時常常懷有一種技術情結,認為只有設計出一流的架構才能展示他們的技術水平。例如,在設計高可用性方案時,他們可能會偏好使用集群方案而不是主備方案,因為前者更加優越和強大;在高性能方案中,可能會傾向于使用業界領先的技術如淘寶的某種方案。GJB28資訊網——每日最新資訊28at.com

然而,根據“適用原則”和“簡單原則”,選擇適合自己業務、團隊和技術能力的方案才是更為理智的選擇。否則,可能會造成資源的浪費,如開發了遠超實際需要的系統,或者設計出的系統根本無法由現有團隊實現。GJB28資訊網——每日最新資訊28at.com

第二個常見錯誤是只制定一個方案。許多架構師可能會在心中簡單比較幾個方案,然后選擇一個看似最佳的方案進行深入設計。這種做法存在多個缺點:評估可能過于膚淺,沒有全面考慮,或是由于某個方案的一個缺點就草率地否決了它,而忽略了這可能是綜合最優的選擇。架構師的經驗和知識是有限的,有時候他們的評估標準可能已過時或不適用于新情況,或者某些評估標準本身就是錯誤的。GJB28資訊網——每日最新資訊28at.com

因此,架構師應該設計多個備選方案,理想的方案數量是三到五個。少于三個可能由于思考不夠全面,多于五個則可能花費過多時間和精力,且方案間的差異可能不明顯。備選方案應具有較大的差異性,如主備和集群方案的區別,或者不同技術實現主備的差異明顯,如使用ZooKeeper與使用Keepalived。GJB28資訊網——每日最新資訊28at.com

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

方案:GJB28資訊網——每日最新資訊28at.com

圖片圖片GJB28資訊網——每日最新資訊28at.com

方案概述如下:GJB28資訊網——每日最新資訊28at.com

  • 實施一個分散數據的集群架構,集群內的服務器按組劃分,每組負責存儲特定部分的消息數據。
  • 每個服務器組配置一臺主用 MySQL 和一臺備用 MySQL,組內實現主備數據復制,而組間數據保持獨立不進行同步。
  • 在正常運行時,每組的主服務器負責處理外部的消息寫入和讀取請求,備服務器則不提供服務。若主服務器發生故障,備服務器將接管并提供消息讀取服務。
  • 客戶端使用輪詢策略進行消息的寫入和讀取操作。

GJB28資訊網——每日最新資訊28at.com

備選方案 3:自主研發存儲系統的集群方案GJB28資訊網——每日最新資訊28at.com

在備選方案 2 的基礎上,我們考慮替換 MySQL 存儲,因為關系型數據庫的特性并不完全符合消息隊列的數據處理需求。借鑒 Kafka 的設計思路,可以自行開發一套專門的文件存儲和復制系統(具體方案細節將在實際設計階段詳細闡述)。GJB28資訊網——每日最新資訊28at.com

從高性能消息讀取的單機系統設計來看,由于團隊主要使用 Java,備選方案 2 和 3 均采用了基于 Netty 的高性能網絡庫。這反映了團隊的技術背景對選擇范圍的影響。一般而言,成熟的團隊不易頻繁更換技術棧,而新成立的團隊則更可能嘗試新技術。GJB28資訊網——每日最新資訊28at.com

以上簡要介紹了三種備選方案以示范設計流程,實際應用中方案會更為復雜。架構師的技術儲備和經驗越豐富,能夠提供的備選方案就越多,這有助于更有效地制定設計方案。例如,在開源方案中不僅可以選擇 Kafka,還可以考慮 ActiveMQ、RabbitMQ 等;在考慮集群的存儲方案時,除了 MySQL,還可以考慮使用 HBase 或將 Redis 與 MySQL 結合使用;自研的文件系統也可以參考 Kafka、LevelDB 或 HBase 等多種模型。這里由于篇幅限制,不再詳細展開。GJB28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-84026-0.html聊聊架構設計流程:設計備選方案

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: C# 并發設計的七條原則,你知道哪條?

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

標簽:
  • 熱門焦點
  • K60至尊版狂暴引擎2.0加持:超177萬跑分斬獲性能第一

    Redmi的后性能時代戰略發布會今天下午如期舉辦,在本次發布會上,Redmi公布了多項關于和聯發科的深度合作,以及新機K60 Ultra在軟件和硬件方面的特性,例如:“K60 至尊版,雙芯旗艦
  • 6月安卓手機好評榜:魅族20 Pro蟬聯冠軍

    性能榜和性價比榜之后,我們來看最后的安卓手機好評榜,數據來源安兔兔評測,收集時間2023年6月1日至6月30日,僅限國內市場。第一名:魅族20 Pro好評率:95%5月份的時候魅族20 Pro就是
  • 8月總票房已突破10億!《封神》第一:口碑已經成了

    8月5日消息,據燈塔專業版數據,截至8月5日9時35分,8月總票房(含預售)已突破10億。其中,《封神》以大比分的優勢領先。根據官方消息,目前該片總票房已經超過14.
  • 服務存儲設計模式:Cache-Aside模式

    Cache-Aside模式一種常用的緩存方式,通常是把數據從主存儲加載到KV緩存中,加速后續的訪問。在存在重復度的場景,Cache-Aside可以提升服務性能,降低底層存儲的壓力,缺點是緩存和底
  • 一篇聊聊Go錯誤封裝機制

    %w 是用于錯誤包裝(Error Wrapping)的格式化動詞。它是用于 fmt.Errorf 和 fmt.Sprintf 函數中的一個特殊格式化動詞,用于將一個錯誤(或其他可打印的值)包裝在一個新的錯誤中。使
  • 量化指標是與非:挽救被量化指標扼殺的技術團隊

    作者 | 劉新翠整理 | 徐杰承本文整理自快狗打車技術總監劉新翠在WOT2023大會上的主題分享,更多精彩內容及現場PPT,請關注51CTO技術棧公眾號,發消息【WOT2023PPT】即可直接領取
  • 本地生活這塊肥肉,拼多多也想吃一口

    出品/壹覽商業 作者/李彥編輯/木魚拼多多也看上本地生活這塊蛋糕了。近期,拼多多在App首頁“充值中心”入口上線了本機生活界面。壹覽商業發現,該界面目前主要
  • 華為HarmonyOS 4.0將于8月4日發布 或搭載AI大模型技術

    華為宣布HarmonyOS4.0將于8月4日正式發布。此前,華為已經針對開發者公布了HarmonyOS4.0,以便于開發者提前進行適配,也因此被曝光出了一些新系統的特性
  • Android 14發布:首批適配機型公布

    5月11日消息,谷歌在今天凌晨舉行了I/O大會,本次發布會谷歌帶來了自家的AI語言模型PaLM 2、谷歌Pixel Fold折疊屏、谷歌Pixel 7a手機,同時發布了Androi
Top 主站蜘蛛池模板: 平泉县| 仁寿县| 牡丹江市| 汝州市| 雷波县| 塘沽区| 武汉市| 宽城| 鄄城县| 商都县| 宿松县| 宣化县| 玛曲县| 永登县| 冀州市| 唐山市| 罗江县| 汝南县| 隆化县| 通州区| 靖安县| 故城县| 绥阳县| 太和县| 泰和县| 仙游县| 洛扎县| 江孜县| 九龙坡区| 龙川县| 洛川县| 莎车县| 满城县| 奉节县| 海南省| 仁布县| 筠连县| 武夷山市| 宁化县| 榆林市| 三明市|