隨著近20年來互聯網的飛速發展, 互聯網產品的複雜性也到了一個極其可怕的高度。 十年前, 一個軟體系統兩三個開發工程師便可以輕鬆地搞定, 但是現在卻是遠遠不行的了。 現在的互聯網產品不僅需要解決業務的複雜性, 還需要解決各個系統交互的複雜性, 這便對架構師有了更高的要求。 這時候, 一個好的架構師往往決定了這個產品的開發成功率與上線穩定性, 所以作為一名合格的架構師, 年入幾十萬其實是很容易的, 但是前提你必須要會很多架構方面的知識。 那麼作為一名架構師,
互聯網產品目前都是這樣的一個基本架構, P端作為入口, V端進行業務處理, D端進行資料存儲。 但是P端就目前市場來說, 主要分為移動端與pc端, 移動端相對來說多一些, 強應用主要牽扯到了安卓、ios等移動應用, 弱應用又牽扯到了公眾號、小程式等等,
首先, 從前端到後臺, 由於會存在著高併發的情況, 所以nginx伺服器在這裡起到了至關重要的作用, 後端多台伺服器通過反向代理進行請求轉發,
然後, 從後端到資料存儲端, 由於資料庫資源是非常寶貴的, 所以如何處理資料的問題是每一個架構師不得不熟悉的技能。 在高併發下, 對資料庫的壓力是非常大的, 所以此時要考慮緩存問題, 比如使用一級緩存、二級緩存或者通過中介軟體redis緩存等等。 單台redis服務肯定是不夠的, 此時就要考慮redis集群模式, 同時也還要處理其他的一些問題, 比如緩存擊穿、緩存雪崩等。
最後來到資料存儲層, 資料存儲層作為一個系統的核心不行, 所以一定要保證高可用的穩定性, 此時就要考慮資料庫的雙機熱備、讀寫非分離等等, 在大資料的情況下還要進行分庫分表來減輕資料庫的訪問壓力問題, 這些都是架構師需要在開發中來解決。 當然, 在高併發情況下還要來使用各種分散式鎖, 來保證資料的一致性, 防止讀髒資料。
當然,這些知識作為一名架構師最基本的技能,在前期架構專案時,能夠快速的集成搭建一個這樣的框架起來,那麼你基本上是一名初級的架構師了。
當然,這些知識作為一名架構師最基本的技能,在前期架構專案時,能夠快速的集成搭建一個這樣的框架起來,那麼你基本上是一名初級的架構師了。