淺談架構是爲了什麼 (上)

clipboard.png

前言

架構是一款軟件從0到100的演變過程。並不是是上來就能夠承載什麼億級訪問的牛x架構什麼的。本篇寫給那些想要成爲架構師或者正在嘗試成爲架構師的朋友。程序員

  • 陝西的城牆有架構,阻擋外來攻擊
  • 兵馬俑黃陵有架構,避免根基倒塌

這是硬性架構,在初期就應考慮清楚其穩定性。數據庫

  • 餐廳的人員配置,菜譜的交替更換以及管理的不斷完善。

這是軟性架構,考慮擴展性。安全

why

爲何要作架構?有一部分人是這樣說的服務器

  • 作軟件就須要架構
  • 沒架構的軟件不靠譜
  • 我是架構師這軟件我必須作架構
  • 我在學習架構,因此我接手的項目要作架構

各位朋友,生活如此多嬌,沒必要互相殘害。架構是要作。實際每日的工做中,你一直在架構,感受到了嗎?例以下面的一些平常工做架構

  • 這塊的業務響應速度有些慢,咱們須要想辦法提高速度
  • PHP線程常常掛掉,單機配置到極限,咱們須要方案去解決
  • 數據庫常常出現死鎖,查看哪塊業務造出的並提出解決方案
  • 這塊的業務耦合過高了。咱們開會討論如何作。

是平常工做中,你無時無刻的在架構,而你與架構師惟一的區別是你是遇到問題再想解決方案,而架構師會提早想好,例如這種方案能夠去解決某個問題,但也須要考慮其弊端,弊端出現的方案是什麼樣的。實際程序員與架構師不分家。學習

設計

架構設計覆蓋一款應用運行的各個方面。包括阿里雲

  • 物理架構
  • 邏輯架構
  • 數據架構
  • 代碼架構

在項目開發初期,不必將這四個名次想的過於複雜。舉個例子spa

物理架構

做爲一個創業公司,公司資金不足,業務也不是太多,數據也很少。那就能夠選擇線程

阿里雲ECS 4M帶寬 4G內存

就徹底能夠解決實際需求。多整幾臺服務器作負載、主從徹底不必。架構設計

邏輯架構

業務不復雜,將C層,V層,M層分清楚便可。沒必要要玩什麼子系統,例如消息子系統,用戶子系統,支付子系統。不只沒幫上什麼忙。反而整的本身亂七八糟。不少程序員認爲若是在前期不所有設計好,後期很難維護。這實際上是一個錯誤的想法。人無完人,備不住前期設計的還不如後期設計的好呢?

數據架構

在前期數據量不大的時候,徹底可使用單機數據庫去存儲,玩各類主從,主主你本身不嫌累嗎。固然也有例外,對安全特別看重的一系列業務仍是須要作主從的。

代碼架構

在模塊設計上井井有理就能夠了。不要出現僞代碼,爛代碼。

擴展

擴展這個事一直是束縛我「放肆」的一把刀。下篇文章咱們會講這把刀的神祕之處。

致謝

感謝你看到這裏,能看到這裏你必定是但願提高本身的能力,也但願本身作的每個項目都能像巨人同樣強大。固然我也但願這樣。我相信每一個程序員都有一個改變世界的夢想。架構並非一個多麼神祕的職業。請等待我下篇文章給朋友們去演示我公司的架構演變。雖然敵不過大廠的架構。但很實用。謝謝

相關文章
相關標籤/搜索