1. 程式人生 > >如何構建一個安全,穩定,高效的網際網路平臺體系架構

如何構建一個安全,穩定,高效的網際網路平臺體系架構

隨著現在網際網路的高速發展,使用者對企業網際網路產品的體驗性尤為重要,其中包括使用者對網站速度,產品

內容,可用性,方便使用性及安全性等多方面。要想提供給客戶比較滿意的網際網路產品服務,首先需要我

們從對網際網路平臺的基礎架構開始有規劃,有前瞻性地設計並實施。構建一個比較完善的網際網路平臺體系架構廣義上可以歸納為:高可用性,高擴充套件性,高效能性,高安全性。

以下會從這四個方面入手解釋具體的思路。

一. 高可用性:巨集觀分類為硬體高可用和軟體高可用

硬體高可用:伺服器,網路裝置等都應該避免單點問題,

1) 伺服器電源應選擇雙電源,伺服器網絡卡儘量使用雙網絡卡繫結,伺服器應預留一定數量的備機。伺服器

磁碟配置RAID

2) 核心網路裝置如防火牆,核心層交換機都應做主備冗餘。現在主流網路裝置都能通過HSRP 或VRRP

來做到心跳檢測,一旦一臺裝置出現問題,備機會自動接管當前服務。

3) 儲存的使用:可以有效解決大資料儲存及資料冗餘完整

軟體高可用:軟體應用的APP,如WEB,都應去除單點,同時也可解決負載均衡的問題。

1) 可通過硬體負載均衡裝置如F5

2) 軟體七層反向代理如現在比較流行的NGINX,四層LVS,HA軟體keepalive,heartbeat等

3)   原始碼的高可用:應採用版本管理控制系統來控制程式碼的開發及釋出,程式碼有重大BUG可隨時回滾

4) 企業核心的資源來源於資料庫,所以資料庫必須消除單點,以 mysql為例,可以做mysql主從複製,

一主多從或者雙主多從或者是叢集。

 倫理片http://www.dotdy.com/

二. 高擴充套件性

1) 在設計架構時必須考慮到公司業務規模發展擴大後架構的整體擴充套件性。應儘量易於橫向擴充套件

三. 高效能性

1) 合理規劃網路架構及網路效能優化

2) 作業系統優化:核心優化,檔案系統優化等

3) 應用程式優化:nginx,php,tomcat等應用的效能優化

4) 程式碼優化

5) 資料庫優化:確定資料庫的讀寫比例,選擇相應的儲存引擎,SQL優化,效能引數優化,資料庫的拆分

6) 快取機制:如CDN快取靜態頁面或者圖片,memcache,redis,mongodb等nosql可用於快取資料庫的熱資料。也可選擇將熱資料快取到讀寫速度比較快的SSD硬碟或快閃記憶體卡,提升IOPS效能

7) 頁面靜態化

8)對於圖片較多的網站,也可將圖片伺服器實行多域名載入

四:高安全

1) 網路安全:ACL,VLAN,QOS,防攻擊,賬號安全管理

2) 系統安全: iptables, tcpwrapper,賬戶安全管理,金鑰,RSA加密認證

3) 應用程式及程式碼安全:資料加密

4) 資料庫安全:訪問資料庫IP許可權管理,賬號管理,增刪改查許可權管理

    除以上四大方面外還應做好監控機制的保障,監控網路流量,應用服務狀態以便及時得知線上所有裝置和應用的健康狀況。為提高工作效率,應構建自動化運維平臺。為降低伺服器,機櫃整體採購成本,整合資源應用環境隔離,充分利用伺服器資源可以實施虛擬化技術,目前開源的虛擬化軟體有KVM,xen等。