高效能,高可用,安全的架構

呂敬瑛發表於2021-01-24

高效能,高可用,安全的架構

高效能: RT(reponse time)時間

高可用: 任何時候專案都必須可用

可升縮: 大促,流量瞬間增大….

可擴充套件: 開發角度(新需求進行迭代),擴充套件

安全性: 網路安全,硬體安全,軟體安全

敏捷性: 可持續交付,可持續部署

高效能

什麼是高效能?

較短的響應時間、較大的併發處理能力、較高的吞吐量與穩定的效能引數

那我們要怎麼做?

  • 前端優化
  • 瀏覽器優化:減少HTTP請求數,使用瀏覽器快取,啟動壓縮css js ,js非同步,減少cookie傳輸,cDN加速,反向代理
  • 應用層優化:使用快取,非同步,叢集,架構優化。
  • 程式碼優化:合理的架構,多執行緒,資源複用(物件池,執行緒池等),良好的資料結構,JVM調優,cache等
  • 儲存優化: 優化讀寫,noSql等

高可用

什麼是高可用?

大型網站應該在任何時候都可以正常訪問,正常提供對外服務。

那我們要怎麼做?

  • 完善測試流程,保證功能可用,要對輸入有提示,對資料進行檢查,防止資料異常
  • 沉餘備份(冷,熱,溫備)
  • 設定無狀態,對於每次請求,使用那一臺伺服器處理是沒用影響的。負載均衡技術實現高可用
  • 隔離(執行緒隔離,程式隔離,叢集隔離,讀寫分離,動靜分離,熱點隔離)
  • 失效轉移,失敗重試,超時設定(快速失敗),非同步呼叫
  • 壓測,演練(模擬突發事件)

安全

​ 對已知問題有有效的解決方案,對未知/潛在問題建立發現和防禦機制。對於安全問題,首先要提高安全意識,建立一個安全的有效機制,從政策層面,組織層面進行保障,比如伺服器密碼不能洩露,密碼每月更新,每週安全掃描等。以制度化的方式,加強安全體系的建設。同時,需要注意與安全有關的各個環節。安全問題不容忽視,包括基礎設施安全,應用系統安全,資料保密安全等。

基礎設施安全:硬體採購,作業系統,網路環境方面的安全。一般採用正規渠道購買高質量的產品,選擇安全的作業系統,及時修補漏洞,安裝防毒軟體防火牆。防範病毒,後門。設定防火牆策略,建立DDOS防禦系統,使用攻擊檢測系統,進行子網隔離等手段。

應用系統安全:在程式開發時,對已知常用問題,使用正確的方式,在程式碼層面解決掉。防止跨站指令碼攻擊(XSS),注入攻擊,跨站請求偽造(CSRF),錯誤資訊,HTML註釋,檔案上傳,路徑遍歷等。還可以使用Web應用防火牆(比如:ModSecurity),進行安全漏洞掃描等措施,加強應用級別的安全。

資料保密安全:儲存安全(儲存在可靠的裝置,實時,定時備份),儲存安全(重要的資訊加密儲存,選擇合適的人員複雜儲存和檢測等),傳輸安全(防止資料竊取和資料篡改);

常用的加解密演算法(單項雜湊加密[MD5、SHA],對稱加密[DES、3DES、RC]),非對稱加密[RSA]等。

相關文章