溪云閣:專注編程教學夯缺,架構,JAVA踊兜,Python,微服務捏境,機器學習等領域,歡迎關注贰剥,一起學習。
有本書說:會使用框架不一定能成為一個優(yōu)秀的架構師蚌成,但優(yōu)秀的架構師一定會使用框架凛捏。架構師除了會使用工具,還需要有架構設計思想和性能調(diào)優(yōu)技能瓶盛。在設計上追求簡單有效,不做過度設計惩猫。
企業(yè)級別總體架構設計
目前很多企業(yè)都是以項目為主蚜点,一個項目撐起整片天的大把存在,這樣的情況在設計上需要非常把握一個度禽额,盡可能以項目為導向做到點到即可皮官,年輕人要講武德。但是當我們有了幾十個藻丢,幾百個甚至上千個應用的時候,此時需要的不單單是單個項目設計悠反,更需要整個企業(yè)級別的總體規(guī)劃及總體設計,在這個上面需要做頂層思考與設計斋否。
大公司有大公司的好,小公司有小公司的溫暖茵臭,大公司很多時候人情冷暖心里自知,小公司小團隊常常存在家庭般的體貼旦委。在大公司里面做技術,由于公司體積龐大導致經(jīng)常難以看到這個商業(yè)的全貌缨硝,在規(guī)劃上非常吃虧,除非站在非常高的層面去俯瞰整個體系胖笛;小公司又缺乏最基礎的流量及各種中間件的應用場景,或者在使用了某些技術框架后也只是存在單純意義上的使用匀钧,不是為了貼近業(yè)務場景谬返;中型公司基本上針對這兩者都能兼顧到,此時在做整體的企業(yè)級架構設計的時候往往比較容易落地遣铝。
說起來簡單做起來難,落地這兩個字是非衬鹫ǎ考驗能力,整個企業(yè)整體架構設計需要在技術麦萤,管理,業(yè)務三方做取舍壮莹,游刃有余的同時又能動態(tài)切換姻檀,架構師在設計上還包含業(yè)務架構,應用架構绣版,數(shù)據(jù)架構歼疮,技術架構4種诈唬,但是現(xiàn)在很多都是總包做,沒辦法的事讯榕。
靈魂所在的應用架構
小孩子學畫畫從來都是從一張白紙開始,一筆一畫進行涂鴉济竹。在項目或者企業(yè)的開始階段霎槐,應用架構的設計就跟小孩子畫畫一樣都是從一張白紙開始,也是一個不斷試錯丘跌、不斷進化的過程。這樣子的架構其實就是起到一個承上啟下的作用闭树,承接功能需求,下連代碼編寫报辱,這就是應用架構靈魂所在,它是最快能體現(xiàn)出價值的東西幅疼。
從功能設計來分析設計,涉及到各類UML圖爽篷,領域圖,整體架構分層逐工,核心組件或者代碼的編寫漂辐,這些都是緊密結合并如銅環(huán)般串起來,環(huán)環(huán)相扣者吁。整體的架構關注點永遠在于職責問題复凳、領域邊界瘤泪、應用關系对途、存儲設計、部署实檀。
任何東西都是可大可小,做大了做復雜了容易增加開發(fā)人員的壓力膳犹,直接導致項目延期签则。每一個應用的分層,需要做到簡單有效渐裂,易用學習成本低,業(yè)務場景支持性強等柒凉。在我們設計上,參考了DDD的邊界思想設計好我們的接口邊界坦刀,并限定統(tǒng)一的出參入?yún)磉M行區(qū)分處理,這樣子的設計其實就是還原了機器最原始的輸入輸出設計求泰。
人都是懶惰的,特別是研發(fā)人員渴频,總想著我做了一個東西后面不用寫了北启,所有的東西都來復用它;但是研發(fā)人員又是最勤奮的咕村,他們想方設法做了一個適應了所有方法的東西,花費了巨大的時間懈涛。其實這種設計往往帶有很大的危險性,容易在后面的運維上增加運維的時間并且讓這個系統(tǒng)的復雜度變得非常高宇植。
從架構到“管理”
任何架構都是要落地的、要標準化指郁、要不斷演化的,這部分是需要通過融合技術架構與組織架構來實現(xiàn)闲坎。每一個角色的轉化,從架構師到技術管理腰懂,所關注的角度跟層面并不一樣,單純的留在技術層面演化成關注技術在商業(yè)的應用價值悯恍,技術跟業(yè)務的契合度,整個技術團隊的文化涮毫、能力不斷成長。
微服務的出現(xiàn)是個契機也是個痛苦的根源所在艘虎。很多企業(yè)剛開始使用最簡單的單體架構,開始往微服務架構遷移野建,這就是技改的過程。這樣子的過程無論項目大小都是痛苦的候生,項目小投入少但是微服務所需要的資源多绽昼,項目小涉及到的業(yè)務量多,很容易變成為了不影響業(yè)務而小改硅确,不敢全盤推倒去做而采用慢慢吞并方式去做,最終變成單體與微服務并行的存在菱农,你卻又無可奈何并且筋疲力勁不想繼續(xù)做,反正對上層的領導有交代就行陷猫,他們更加關注的就是系統(tǒng),業(yè)務的穩(wěn)定性绣檬。
技改其實并不是單純的技術改造,而是道路的演變河咽,但是技改無論對大公司或者小公司而言忘蟹,都是非常痛苦的,“小賭怡情媚值,大賭傷財”。那什么樣的技改才是正確之路褥芒,應該是能驅(qū)動公司業(yè)務發(fā)展的技改才是正確之路嫡良,讓技術與業(yè)務互相融合,互相匹配寝受,同時技改的時候一定要尊重食物的發(fā)展規(guī)律,不要為了技改而技改很澄,那就純粹為了炫技。這讓我想起以前面試過一家公司甩苛,從各類語言問到架構,從架構問到數(shù)據(jù)科學讯蒲,范圍很廣,技術很牛逼施戴,一問沒啥量,一年頂了天就1T非架構化數(shù)據(jù)赞哗,量能也就不到上萬人。WTF肪笋,垃圾。
每一個技術團隊都是可愛的藤乙,不像外面穿的死氣沉沉,如果一個部門整天都是死氣沉沉而姐,那就是這個部門領導有問題,讓整個部門充滿激情活力拴念,從固步自分到分享為樂,這就是團隊文化的建設政鼠。信任是團隊非常重要的存在队魏,只有這樣子出來的團隊文化,才能真正留得住人胡桨。