大家好,我是IT孟德,You can call me Aman(阿瞞,阿彌陀佛的ē,Not阿門的ā),一個喜歡所有對象(熱愛技術)的男人。我正在創作架構專欄,秉承ITer開源精神分享給志同道合(愛江山愛技術更愛美人)的朋友。專欄更新不求速度但求質量(曹大詩人傳世作品必屬精品,請腦補一下《短歌行》:對酒當歌,紅顏幾何?譬如媳婦,吾不嫌多...青青羅裙,一見動心,但為佳人,掛念至今...),用樸實無華、通俗易懂的圖文將十六載開發和架構實戰經驗娓娓道來,讓讀者茅塞頓開、相見恨晚...如有吹牛,不吝賜教。關注wx公眾號:IT孟德,一起修煉吧!
專欄文章推薦:
告別16年IT生涯:一場關于內耗、健康和出路的反思
架構師指南:像呵護感情一樣構建無懈可擊的系統穩定性防線
系統性能評估:如何定義并發數、響應時間和吞吐量
實戰:混合云架構Nginx+Lua實現流量跨機房分發
架構圖的魅力:如何用UML提升架構設計的質量
架構師的職責是什么?程序員如何轉型為架構師?
什么是架構?架構如何演進?
1、架構設計的必要性
前些天溜達了一圈粵港澳大灣區,頗有感觸。東莞曾以勞動密集型產業和加工貿易迅速崛起為世界工廠,經濟繁榮程度吊打諸多中西部省會城市。作為全國唯一不設區縣的地級市,由于之前30多個鎮和街道各自為政,缺乏統一的區域功能定位、產業分工和基礎設施建設規劃,形成了“村村點火、戶戶冒煙”的散裝格局,導致同質化競爭激烈、資源浪費和發展不均衡。最終工廠和居住區混雜、環境質量差、交通擁堵、公共服務設施布局不合理等問題嚴重影響了居民生活質量和城市整體形象。隨著內陸城市的窮追猛打,東莞的產業和人口逐漸流失。毗鄰的深圳從建立之初定位為“改革開放試驗田”到未來的“全球標桿城市”,每一階段目標明確、需求清晰。在國家、省和市的統籌規劃下,一直前瞻性地考慮人口、資源、空間和基礎設施等承載力,引領城市建設從“帶狀組團”到“三軸兩帶多中心”再到“一核多心網格化”逐步演進,成為高質量發展、城市治理、民生保障等方面的典范。倘若不考慮情感、生活成本因素,縱然東莞和深圳具備的城市功能差別不大,相信大多數人更愿意在深圳工作和生活。當然東莞的管理者們也意識到了困局,提出了 “科技創新 + 先進制造” 雙輪驅動的轉型目標,“一主兩副六片區”的劃分明確了各邏輯區域的定位,持續優化產業布局和基礎設施,實現各區域資源共享和協同發展。如松山湖副中心包含了周邊大朗、大嶺山、東坑等鎮,定位為科技創新高地,吸引了生益電子、華為等企業和香港城市大學、廣東醫科大學、東莞理工學院、大灣區大學(籌建)等高校紛紛布局。
鋪墊這么多,就是為了突出提前規劃和設計的重要性。有朋友可能會說,東莞現在不是發展的也挺好嘛,連華為都從深圳搶過來了。沒錯,東莞近些年通過“缺陷修復”和“模塊重構”不斷地進行升級迭代,但已錯失良機、產生損失,且改造升級的成本也非常高。再譬如很多城市的老城區以前都是野蠻增長,現在上下班堵車、下暴雨內澇、臟亂差等問題無法徹底根治,除非鏟平重建,所以管理者更樂意將資源向沒有歷史債的新區傾斜。還有朋友會問,我們村需要規劃設計嗎?如果你們村是一個偏遠的農村,新增一戶劃一塊宅基地蓋幾間房即可,即使沒有任何規劃也不會導致生活秩序混亂。但如果是城中村,或者被劃在某旅游風景區、生態保護區,那么它只是某系統其中的一個模塊或功能點,必然需要全局規劃、統籌建設。
同理城市規劃,創業項目、企業內部獨立的小型信息化系統基于人力成本考慮可直接進入開發,中大型互聯網企業某些項目為了快速驗證市場也可以跳過架構設計環節,但系統變復雜前一定要進行架構設計,用前期的結構化思考避免后期的無序混亂,隨著業務量、用戶量增長,架構設計也要持續更新。架構設計本質是通過結構化的抽象與建模,將復雜系統的需求轉化為可落地的解決方案。其主要價值體現在以下幾個方面: