IT架構的本質--閱讀筆記01

  萬物都有其本質,也只有瞭解了事物的本質以後,纔不至於出如今事物稍做改變時就難以應對的狀況,做爲軟件工程專業的學生,咱們應該對IT架構的本質有必定的瞭解。「老僧三十年前未參禪時,見山是山,見水是水。及至後來,親見知識,有個入出,見山不是山,見水不是水。而今得個休歇處,依前見山只是山,見水只是水。」這是參禪的三重境界,但一樣適用於IT技術圈,初出茅廬的新手以爲每一個產品都是有必定的技術難度的,他們學習着一門又一門的新語言,追逐着最強的IDE;有必定閱歷與經驗的前輩們深知各語言的優勢與劣勢,最好的語言也時常會有人對其發出嘲諷;然而當一切都沉澱下來之後,咱們會明白,搞IT其實不過就是一份延續思想以及翻譯語言的工做,例如技術架構師,這是一份古樸甚至有些無趣的工做。前端

  架構技術像機器人哄小孩同樣簡單,各角色分工明確方便快速實現業務,可是也給架構優化埋下了大坑,底層的盲目支撐是巨大資源浪費,平級調度協做也沒任何彈性,A系統會等B系統等到死鎖就是架構悲劇。搞架構設計最重要的就是砍需求,將上層應用的需求優化刪減,讓同級的業務能容錯,抓住核心訴求,不應要的東西統統不要。後端

  做者對架構師的工做作出了五條基於核心道理的總結:1. 需求優化最重要:少查少寫少依賴;2.羣集設計通用規則:前端複製後端拆,實時改異步,三組件互換;3. 理解硬件天性:角色選型時要看硬件的自然特性;4. 數據的產生和消失:數據不會憑空產生,但會憑空消失;5. 各環節都不可盲信:容災設計中都盡人事和聽天命。安全

  前端是管道是邏輯,然後端是狀態是數據,因此前端複製後端拆。在羣集性能規劃中,網絡和硬盤IO+CPU算力+磁盤和內存空間是能夠互換的,架構師要完成補不足而損有餘的選型。每一個新選型都會帶來細節上的萬千變化,但每種變化都是符合天然規律有章可循的。例如,一個經典微機系統就是中央處理器+主存儲器+IO設備,而這幾個概念竟然是和羣集性能規劃一一對應的。網絡

  架構層軟件技術已經足夠成熟,所謂技術選型不如說是適應場景;在作具體角色選型時,最深度也最易忽視的原則是順應硬件天性。做者的精神導師說過,若是一個服務依賴硬盤,那這個服務就不適合扛性能壓力。天性不可逆轉,所謂理解硬件的自然特性,就是別讓硬盤扛性能,別讓內存保持久,別讓網線扛穩定。架構

  寫代碼時會碰見不少難以理解的問題,你可能不明白這個錯是怎麼出現的,也不知道那個錯怎麼下一秒突然就沒了,但咱們須要知道的是,數據不會憑空產生,但有可能會憑空消失。計算機或者自輸入設備獲取數據,或者自其餘數據源導入數據,並且原始數據的轉化規則也要人類來定義。咱們要便捷輕巧安全可靠的獲取數據,就要選好數據源,保障好傳輸路徑,定義好數據變換規則。在一個數據生命週期內,爲了防止數據所有或部分憑空消失,數據的容錯校驗、關聯復原、冷熱備份和安全刪除都要考慮到位。異步

  架構師的核心技能包括畫好訪問邏輯和數據流量圖,由於問題現狀描述清楚了,問題就解決了一多半了。一個好的業務訪問邏輯圖,其信息量大到包羅訪問過程的全部元素,同時也要詳略得當高亮關鍵點。在生僻業務的規劃實施過程當中,沒人告訴架構師該有哪些服務,他們只能靠摸透一個又一個訪問邏輯圖和數據生命週期,來摸索羣集內有哪些角色和依賴關係。性能

  要知道整個IT系統中就沒有可靠的組件,架構師既不能盲目信任撞大運,又不能無限冗餘嚇唬本身,而是在盡人事和聽天命之間作好權衡,不出故障的人是不存在的,不出錯的標準難以達到。若是出了大範圍的故障,只要員工沒有惡意破壞,那就是羣集健壯性設計不到位,是技術總監和架構師的鍋,而非操做工。學習

  做者說過庖丁能夠解牛也能夠殺豬,作架構的,明白了架構之道,以其做爲思想支撐,即便面對的是全新業務類型,也能作到面不改色遊刃有餘。優化

相關文章
相關標籤/搜索