金三銀四招聘季,很多小夥伴最近都在經曆着或者準備着面試。而在現在的網際網路企業的大部分面試中,始終圍繞着網際網路的三高架構來展開。
網際網路三高架構:高并發、高性能、高可用,簡稱三高(3H)
很多時候,面試官一句:在工作中如何處理高并發可能就結束了整場面試!
那麼,建構一個三高的系統,到底可以從哪些方面下手呢。
小編為您總結了一下,大概可以從以下方面入手:橫向分層、縱向分割、分布式化、叢集化、使用緩存、使用異步模式、使用備援、自動化(釋出、部署、監控)。
具體來說,可以在不同層次常用的技術有:
前端
- 浏覽器優化技術:合理布局,頁面緩存,減少http請求數,頁面壓縮,減少 cookie 傳輸。
- CDN
- DNS負載均衡
- 動靜分離
- 動态圖檔獨立提供服務
- 反向代理
應用層架構
- 業務拆分
- 負載均衡
- 虛拟化伺服器、容器化
- 無狀态(以及分布式 Session)
- 分布式緩存
- 異步、事件驅動架構、消息隊列
- 多線程
- 動态頁面靜态化
服務層架構
- 分布式微服務(分級管理,逾時設定,異步調用,服務降級,幂等性設計。)
- 同應用層架構
存儲層架構
- DFS
- 關系資料庫路由
- No SQL 資料庫
- 資料同步
- 資料備援
安全架構
- Web攻擊(XSS、Sql Injection)
- 資料加密
- 密鑰管理
釋出、運維
- 自動化測試與釋出
- 灰階釋出
- 浏覽器資料采集
- 伺服器業務資料采集
- 伺服器性能資料采集
- 系統監控
- 系統報警
機房
- 散熱、省電、定制伺服器
以上,就是建設網際網路三高架構可能涉及到的知識點,很多人可能并沒有辦法考慮的很全面。(參考資料:https://www.cnblogs.com/zgynhqf/p/9853591.html)
很多同學在技術生涯最初幾年都會沉浸在業務開發中,忽視了對系統知識的梳理和技術視野的擴充。日複一日,導緻很多同學就以為這就是技術的全部,同時在重複的體力勞動中也喪失了對技術細節的深入探讨。
技術的突破需要依賴業務場景的需求和自身刻意的規劃學習,二者缺一不可,但前者是機會,往往不是自己能完全把控的,如果在自己工作中沒有實踐場景,最好的辦法就是系統的學習與梳理,為自己制定一個不同時間段的發展道路,待機會來臨時就能一展身手。