讀書筆記(三)

大型網站核心架構要素html

一,性能前端

網站通常性能指標:響應時間,併發數,吞吐量(TPS,QPS,HPS),性能計數器等;

WEB前端性能優化:瀏覽器訪問優化,CDN加速,反向代理
應用服務器性能優化:分佈式緩存,異步操做,使用集羣,代碼優化(多線程,資源複用,數據結構)
存儲性能優化:機械硬盤VS固態硬盤,B+樹VS LSM樹,RAID VS HDFS

 

二,可用性git

高可用的目的:保證服務器硬件故障時服務依然可用,數據依然保存並可以被訪問

高可用應用:經過負載均衡進行無狀態服務的失效轉移,應用服務器集羣的session管理
高可用服務:分級管理,超時設置,異步調用,服務降級,冪等性設計
高可用數據:數據備份和失效轉移,CAP原理
高可用軟件質量保證:網站發佈,自動化測試,預發佈驗證,代碼控制(svn,git),自動化發佈,灰度發佈
網站監控:監控數據採集,監控管理

 

三,伸縮性算法

不一樣功能進行物理分離實現伸縮 單一功能經過集羣規模實現伸縮

負載均衡技術:HTTP重定向負載均衡,DNS域名解析負載均衡,反向代理負載均衡,IP負載均衡,數據鏈路層負載均衡(LVS)
負載均衡算法:輪詢,加權輪詢,隨機,最少鏈接,源地址散列
路由算法:一致性HASH
關係數據庫伸縮性:單表數據量過大時數據庫分片,實現:Cobar作集羣的伸縮
NoSQL的伸縮性:HBase架構原理

 

四,擴展性數據庫

設計網站可擴展性的核心思想是模塊化,並在此基礎上,下降模塊間的耦合性,提升模塊的複用性。

模塊化:軟件架構師的最大價值
下降耦合:分佈式消息隊列(各類MQ)
可擴展的數據結構:NoSql中的ColumnFamily設計
分佈式服務框架:dubbo(taobao),thrift(facebook)

 

五,安全性瀏覽器

全球70%的Web應用攻擊來自XSS和SQL的注入攻擊,其它還有CSRF,Session劫持

XSS,SQL注入的防護
其它經常使用漏洞:
error code回顯,html註釋,文件上傳,路徑遍歷 加密解密技術:單向散列加密,對稱加密,非對稱加密,密鑰安全管理 信息過濾與反垃圾:文本匹配算法(trie tree,多級Hash表),分類算法,黑名單(布隆過濾器)
相關文章
相關標籤/搜索