1. 程式人生 > >從0開始學架構(五)複雜度來源:低成本、安全、規模

從0開始學架構(五)複雜度來源:低成本、安全、規模

低成本

一般中小公司基本都是靠引入新技術來達到低成本的目標;而大公司更有可能自己去創造新的技術來達到低成本的目標,因為大公司才有足夠的資源、技術和時間去創造新技術。


安全

安全本身是一個龐大而又複雜的技術領域,並且一旦出問題,對業務和企業形象影響非常大。

從技術的角度來講,安全可以分為兩類:一類是功能上的安全,一類是架構上的安全。

功能安全

例如,常見的 XSS 攻擊、CSRF 攻擊、SQL 注入、Windows 漏洞、密碼破解等,本質上是因為系統實現有漏洞,黑客有了可乘之機。

架構安全

如果說功能安全是“防小偷”,那麼架構安全就是“防強盜”。強盜會直接用大錘將門砸開,或者用炸藥將圍牆炸倒;小偷是偷東西,而強盜很多時候就是故意搞破壞,對系統的影響也大得多。因此架構設計時需要特別關注架構安全,尤其是網際網路時代,理論上來說系統部署在網際網路上時,全球任何地方都可以發起攻擊。


規模

很多企業級的系統,既沒有高效能要求,也沒有雙中心高可用要求,也不需要什麼擴充套件性,但往往我們一說到這樣的系統,很多人都會脫口而出:這個系統好複雜!為什麼這樣說呢?關鍵就在於這樣的系統往往功能特別多,邏輯分支特別多。特別是有的系統,發展時間比較長,不斷地往上面疊加功能,後來的人由於不熟悉整個發展歷史,可能連很多功能的應用場景都不清楚,或者細節根本無法掌握,面對的就是一個黑盒系統,看不懂、改不動、不敢改、修不了,複雜度自然就感覺很高了。

常見的規模帶來的複雜度有:

  1. 功能越來越多,導致系統複雜度指數級上升
  2. 資料越來越多,系統複雜度發生質變