老王說架構

分佈式架構設計:
一、橫向分層,將系統在橫向維度上切分紅幾個部分,每一個部分負責一部分相對比較單一的職責,例如:MVC經典模式。
二、縱向分割,將系統功能模塊歸類切分紅幾個部分,包裝成高內聚低耦合的模塊單元,不一樣功能模塊直接經過遠程調用協助工做。
三、緩存技術,將是改善系統性能的第一手段,從上到下依次:瀏覽器緩存、反向代理緩存、靜態文件緩存、數據層緩存。
四、異步處理,將一個複雜業務操做分紅幾個階段,每一個階段之間經過共享數據的方式進行異步執行。
五、事件驅動,經過在低耦合的模塊之間傳輸事件消息,以保持模塊的鬆散耦合,並藉助事件消息的通訊完成模塊之間的合做。發佈-訂閱模式,新增業務,只要對該類消息感興趣,便可訂閱該消息,對原有系統沒有任何影響。
六、數據存儲,關係數據庫、NoSql、日誌文件。mysql


考慮問題
性能問題
一、web端,負載下降服務處理請求壓力,使用瀏覽器緩存,磁盤啓用壓縮,代碼設計上CSS放在上面、JS放在下面,先渲染樣式。減小Cookie傳輸,推薦CDN加速。
二、ws端,緩存,緩存,仍是緩存。遵循二八定律:80%的訪問落在20%的數據上,利用Hash表和內存的高速訪問特性,將這20%的數據緩存起來。SQL優化、服務接口複用,多線程。
三、存儲端,在關係型數據庫mysql中廣泛使用B+樹做爲索引,在實際中索引也分爲彙集索引和非彙集索引,而在hbase中則採用的是LMS樹組織數據的。二者各有優劣協做使用。MySql實現主從同步讀寫分離。
安全問題
一、XSS攻擊,跨站點腳本攻擊;黑客經過篡改網頁,注入惡意HTML腳本,用戶在瀏覽網頁時,控制用戶瀏覽器進行惡意操做
二、注入(SQL/OS)
三、CSRF攻擊,跨站點請求僞造,利用瀏覽器Cookie或者服務器Session策略,盜取用戶身份
四、Error Code
五、邏輯跳過
六、敏感數據
七、HTML註釋等
服務策略
一、服務分級,將核心業務和服務集羣與優先使用更好的資源。
二、服務熔斷,避免服務故障引起雪崩。
三、服務超時,設置超時;一旦超時,框架拋出異常。
四、服務降級,爲了保證核心應用和功能的正常運行,須要對服務進行降級處理
五、冪等性,在服務層保證服務重複調用和調用一次產生的結果相同。web

——————————————sql

推薦閱讀:數據庫

Kafka 入門教程瀏覽器

你能夠不懂但必定要知道的代碼審查 Code Review緩存

ELK Stack 實戰教程安全

filebeat+kafka+strom+logstash+es 輿情采集系統服務器

安全漏洞掃描,風險緣由分析及解決方案多線程

相關文章
相關標籤/搜索