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

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

架構重構秘籍:第一式對癥下藥

來源: 責編: 時間:2024-05-20 17:52:52 127觀看
導讀系統架構是一個不斷演化的過程。雖然有時少部分架構演化可能需要徹底推倒重寫,但大多數情況下,架構演化是通過架構重構來實現的。相比全新的架構設計,架構重構對架構師提出了更高的要求,主要體現在以下幾個方面:業務已上線

系統架構是一個不斷演化的過程。雖然有時少部分架構演化可能需要徹底推倒重寫,但大多數情況下,架構演化是通過架構重構來實現的。相比全新的架構設計,架構重構對架構師提出了更高的要求,主要體現在以下幾個方面:GSc28資訊網——每日最新資訊28at.com

業務已上線

在架構重構過程中,業務已經在線運行,這意味著重構需要在保證業務持續發展的同時完成架構調整,類似于“給飛行中的波音747換引擎”。相比之下,新架構設計在業務尚未上線時進行,即使出現問題對業務的影響也較小。GSc28資訊網——每日最新資訊28at.com

關聯方眾多

架構重構涉及多個業務關聯方,各方資源投入、業務發展速度和對架構問題的敏感程度各不相同。如何減少對關聯方的影響,或者協調各方共同行動,是一項挑戰。新架構設計在上線前對關聯方沒有影響。GSc28資訊網——每日最新資訊28at.com

舊架構的約束

架構重構必須在舊架構基礎上進行,這是一個約束,會限制架構師的技術選擇。新架構設計中,架構師的技術選擇范圍更廣。GSc28資訊網——每日最新資訊28at.com

數據轉換

即使完全推倒重來設計新架構,新架構也會受到舊架構的約束和影響,因為業務在舊架構上產生的數據不能重來。新架構必須考慮如何將舊架構產生的數據轉換過來。GSc28資訊網——每日最新資訊28at.com

綜合能力要求

架構重構對架構師的綜合能力要求很高。他們需要說服產品經理暫緩或暫停業務,與其他團隊達成一致的架構重構計劃和步驟,提出讓技術團隊認可的重構方案。因此,架構師需要在業務、團隊和技術方面具備廣泛的能力。GSc28資訊網——每日最新資訊28at.com

通常情況下,當系統架構無法滿足業務發展時,會出現一系列問題。這些問題可能表現為系統響應緩慢、數據錯誤、部分用戶訪問失敗等輕微情況,嚴重時可能導致系統宕機、數據庫癱瘓、數據丟失,或者系統開發效率低下。GSc28資訊網——每日最新資訊28at.com

起初,技術團隊可能會針對具體問題進行解決,一次又一次地應對。然而,如果問題持續存在,可能長達數月甚至一年之久,團隊可能會開始懷疑系統架構是否存在問題。這時,就會開始討論是否需要進行架構重構。一旦確定需要重構架構,架構師將領導架構重構的分析和實施。GSc28資訊網——每日最新資訊28at.com

當架構師開始進行架構重構分析時,往往會感到如同進入了一個迷霧森林,到處都是問題,每個問題都需要解決,讓人感到無從下手。有些架構師會開始收集系統當前存在的問題,并匯總成一個長達100行的Excel表格。看到這樣的表格,他們會感到困惑:這么多問題,要解決完需要花費很長時間啊!GSc28資訊網——每日最新資訊28at.com

然而,期望通過架構重構解決所有問題是不現實的。因此,架構師的首要任務是從這些問題中識別出真正需要通過架構重構來解決的問題,并集中精力快速解決這些問題。重要的是專注于解決核心問題,而不是試圖通過架構重構解決所有問題。否則,團隊可能會陷入人手不足、任務繁多、頭緒混亂的境地,花費大量時間和精力,最終發現雖然做了很多工作,但每個問題依然存在。GSc28資訊網——每日最新資訊28at.com

特別是對于剛接手一個新系統的架構師或技術主管來說,控制住沖動,避免過度重構和優化是很重要的。要避免進行攤大餅式或運動式的重構和優化。GSc28資訊網——每日最新資訊28at.com

我們來看幾個具體的重構案例。GSc28資訊網——每日最新資訊28at.com

1.平臺系統重構:解決不合理的耦合

M 系統是一個后臺管理系統,負責管理所有游戲相關的數據,重構的主要原因是因為系統耦合了 P 業務獨有的數據和所有業務公用的數據,導致可擴展性比較差。其大概架構如下圖所示。GSc28資訊網——每日最新資訊28at.com

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

舉一個簡單的例子:數據庫中的某張表,一部分字段是所有業務公用的“游戲數據”,一部分字段是 P 業務系統“獨有的數據”,開發時如果要改這張表,代碼和邏輯都很復雜,改起來效率很低。GSc28資訊網——每日最新資訊28at.com

針對 M 系統存在的問題,重構目標就是將游戲數據和業務數據拆分,解開兩者的耦合,使得兩個系統都能夠獨立快速發展。重構的方案如下圖所示。GSc28資訊網——每日最新資訊28at.com

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

重構后的效果非常明顯,重構后的 M 系統和 P 業務后臺系統每月上線版本數是重構前的 4 倍!GSc28資訊網——每日最新資訊28at.com

2. 游戲接入系統重構:解決全局單點的可用性問題

系統是游戲接入的核心系統,一旦發生故障,將導致大量游戲玩家無法登錄游戲。然而,S系統并不具備多中心的能力,一旦主機房發生故障,整個S系統業務將不可用。其大概架構如下圖所示,可以看出數據庫主庫是全局單點,一旦主庫不可用,兩個集群的寫業務都將不可用。GSc28資訊網——每日最新資訊28at.com

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

針對 S 系統存在的問題,重構目標就是實現雙中心,使得任意一個機房都能夠提供完整的服務,在某個機房故障時,另外一個機房能夠全部接管所有業務。重構方案如下圖所示。GSc28資訊網——每日最新資訊28at.com

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

重構后系統的可用性從 3 個 9 提升到 4 個 9,重構前最夸張的一個月有 4 次較大的線上故障,重構后雖然也經歷了機房交換機宕機、運營商線路故障、機柜斷電等問題,但對業務都沒有什么大的影響。GSc28資訊網——每日最新資訊28at.com

3.X 系統:解決大系統帶來的開發效率問題

X系統是創新業務的主系統。在業務快速嘗試和快速發展階段,系統設計著重于方便操作和快速開發,沒有投入太多精力和時間。許多功能都被“塞”到同一個系統中,導致現在已經難以進行改動。為了實現新功能或業務,需要花費大量時間來討論和梳理各種業務邏輯,存在踩坑風險。X系統的架構如下圖所示。GSc28資訊網——每日最新資訊28at.com

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

X系統和M系統在可擴展性問題上看似相似,但根本原因不同。M系統的可擴展性問題源于數據耦合,而X系統則是因為將所有業務功能集中在一個系統中,導致可擴展性不足。此外,所有功能集中在一個系統中也可能導致某個功能出現問題時整站不可用的情況。舉例來說,如果某個功能導致數據庫負載過高,整站的業務都會受到影響而變慢。GSc28資訊網——每日最新資訊28at.com

針對 X 系統存在的問題,重構目標是將各個功能拆分到不同的子系統中,降低單個系統的復雜度。重構后的架構如下圖所示(僅僅是示例,實際架構遠比下圖復雜)。GSc28資訊網——每日最新資訊28at.com

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

重構后,各個系統之間通過接口交互,雖然增加了接口的工作量,但整體上各系統的發展和開發速度比原來快了很多。系統也相對更加簡單,不會出現某個子系統有問題導致所有業務都有問題的情況。GSc28資訊網——每日最新資訊28at.com

回顧重構這三個系統的方案,現在看來似乎是理所當然的,但實際上在進行分析和決策時并不簡單。以M系統為例,當時接手后遇到了許多問題:GSc28資訊網——每日最新資訊28at.com

  1. 數據經常出錯。
  2. 單機系統宕機后所有后臺操作不能進行。
  3. 性能較差,有的操作耗時較長。
  4. 界面丑陋,操作不人性化。
  5. 代碼混亂,歷史上經過多次轉手。
  6. 業務數據和游戲數據耦合,開發效率低下。

從這些問題中識別出重構的目標并不容易;要解決所有問題又需要耗費大量人力和時間!因此,架構師需要透過問題表象看到問題本質,找出真正需要通過架構重構解決的核心問題,從而做到有的放矢。這對架構師的分析和判斷能力要求非常高,不能一看到問題就想到架構重構,也不能只是針對問題進行系統優化。GSc28資訊網——每日最新資訊28at.com

當然,原來發現的那些非架構重構問題也不能放任不管。重構完成后,我們啟動了多個優化項目來解決這些問題,但這些優化主要由團隊內部完成,和其他團隊關聯較少,因此優化速度很快。如果沒有重構而是直接進行優化,則每次優化都需要拉一大堆關聯業務的團隊來討論方案,效率非常低下。GSc28資訊網——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-89397-0.html架構重構秘籍:第一式對癥下藥

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

上一篇: 五種 Python 列表推導式妙用法

下一篇: 基于Jenkins Pipeline構建企業級CI/CD

標簽:
  • 熱門焦點
  • K60至尊版剛預熱 一加Ace2 Pro正面硬剛

    Redmi這邊剛如火如荼的宣傳了K60 Ultra的各種技術和硬件配置,作為競品的一加也坐不住了。一加中國區總裁李杰發布了兩條微博,表示在自家的一加Ace2上早就已經采用了和PixelWo
  • 掘力計劃第 20 期:Flutter 混合開發的混亂之治

    在掘力計劃系列活動第20場,《Flutter 開發實戰詳解》作者,掘金優秀作者,Github GSY 系列目負責人戀貓的小郭分享了Flutter 混合開發的混亂之治。Flutter 基于自研的 Skia 引擎
  • 谷歌KDD'23工作:如何提升推薦系統Ranking模型訓練穩定性

    谷歌在KDD 2023發表了一篇工作,探索了推薦系統ranking模型的訓練穩定性問題,分析了造成訓練穩定性存在問題的潛在原因,以及現有的一些提升模型穩定性方法的不足,并提出了一種新
  • 慕巖炮轟抖音,百合網今何在?

    來源:價值研究所 作者:Hernanderz“難道就因為自己的一個產品牛逼了,從客服到總裁,都不愿意正視自己產品和運營上的問題,選擇逃避了嗎?”這一番話,出自百合網聯合創
  • 馮提莫簽約抖音公會 前“斗魚一姐”消失在直播間

    來源:直播觀察提起“馮提莫”這個名字,很多網友或許聽過,但應該不記得她是哪位主播了。其實,作為曾經的“斗魚一姐”,馮提莫在游戲直播的年代影響力不輸于現
  • 2納米決戰2025

    集微網報道 從三強爭霸到四雄逐鹿,2nm的廝殺聲已然隱約傳來。無論是老牌勁旅臺積電、三星,還是誓言重回先進制程領先地位的英特爾,甚至初成立不久的新
  • 榮耀Magicbook V 14 2021曙光藍版本正式開售,擁有觸摸屏

    榮耀 Magicbook V 14 2021 曙光藍版本正式開售,搭載 i7-11390H 處理器與 MX450 顯卡,配備 16GB 內存與 512GB SSD,重 1.48kg,厚 14.5mm,具有 1.5mm 鍵盤鍵程、
  • 蘋果140W USB-C充電器:采用氮化鎵技術

    據10 月 30 日 9to5 Mac 消息報道,當蘋果推出新的 MacBook Pro 2021 時,該公司還推出了新的 140W USB-C 充電器,附贈在 MacBook Pro 16 英寸機型的盒子里,也支
  • 微軟發布Windows 11新版 引入全新任務欄狀態

    近日,微軟發布了Windows 11新版,而Build 22563更新主要引入了幾周前曝光的平板模式任務欄等,系統更流暢了。更新中,Windows 11加入了專門針對平板優化的任務欄
Top