1.大型網(wǎng)站架構(gòu)演化
大型網(wǎng)站軟件系統(tǒng)特點(diǎn)
- 高并發(fā),大流量
- 高可用:7*24小時(shí)不間斷服務(wù)
- 海量數(shù)據(jù):存儲(chǔ)管理海量數(shù)據(jù)
- 用戶分布廣泛,網(wǎng)絡(luò)情況復(fù)雜
- 安全環(huán)境惡劣
- 需求快速變更、發(fā)布頻繁
- 漸進(jìn)式發(fā)展
大型網(wǎng)站架構(gòu)演化發(fā)展歷程
- 初始階段網(wǎng)站:應(yīng)用程序、數(shù)據(jù)庫(kù)、文件都在一臺(tái)服務(wù)器;
- 應(yīng)用服務(wù)和數(shù)據(jù)服務(wù)分離:應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器、文件服務(wù)器;
- 使用緩存改善網(wǎng)站性能:二八定律,80%的業(yè)務(wù)訪問(wèn)集中在20%的數(shù)據(jù)上。應(yīng)用程序本地緩存(速度快、緩存數(shù)據(jù)量有限)和遠(yuǎn)程分布式緩存(集群方式、理論上無(wú)限容量);
- 使用應(yīng)用服務(wù)器集群改善網(wǎng)站的并發(fā)處理能力;
- 數(shù)據(jù)庫(kù)讀寫(xiě)分離:寫(xiě)主庫(kù)、主從復(fù)制、讀從庫(kù)。數(shù)據(jù)訪問(wèn)模塊,使得讀寫(xiě)分離透明;
- 使用反向代理和CDN加速網(wǎng)站響應(yīng);
- 使用分布式文件系統(tǒng)和分布式數(shù)據(jù)庫(kù)系統(tǒng);
- 使用NoSQL和搜索引擎
- 業(yè)務(wù)拆分:分而治之,多個(gè)獨(dú)立應(yīng)用獨(dú)立部署;
- 分布式服務(wù):分布式服務(wù)調(diào)用共同業(yè)務(wù)服務(wù)完成具體業(yè)務(wù)操作;
2.大型網(wǎng)站架構(gòu)模式
分層
將系統(tǒng)橫向維度切分成幾個(gè)部分,每個(gè)部分負(fù)責(zé)相對(duì)比較單一的職責(zé),然后通過(guò)上層對(duì)下層的依賴和調(diào)用組成一個(gè)完整的系統(tǒng);
常用三層網(wǎng)站分層架構(gòu):
應(yīng)用層:負(fù)責(zé)具體業(yè)務(wù)和視圖展示,可以在細(xì)分為視圖層和業(yè)務(wù)邏輯層;
服務(wù)層:為應(yīng)用層提供服務(wù)支持,也可以細(xì)分為數(shù)據(jù)接口層和邏輯處理層;
數(shù)據(jù)層:提供數(shù)據(jù)存儲(chǔ)訪問(wèn)服務(wù),如數(shù)據(jù)庫(kù)、緩存文件、文件;分割
分割是從縱向方面對(duì)軟件進(jìn)行切分,將不同的功能和服務(wù)分割開(kāi)來(lái),包裝成高內(nèi)聚低耦合的模塊單元;分布式
分層和分割的一個(gè)主要目的是為了切分后的模塊便于分布式部署,將不同模塊部署在不同的服務(wù)器上,通過(guò)遠(yuǎn)程調(diào)用協(xié)調(diào)工作。
常用的分布式方案有以下幾種:
1). 分布式應(yīng)用和服務(wù):分層和分割后的應(yīng)用和服務(wù)模塊分布式部署;
2). 分布式靜態(tài)資源:JS、CSS、圖片資源獨(dú)立分布式部署,采用獨(dú)立的域名,即動(dòng)靜分離;
3). 分布式數(shù)據(jù)和存儲(chǔ)
4). 分布式計(jì)算
5). 分布式配置
6). 分布式鎖
7). 分布式文件系統(tǒng)集群
多臺(tái)服務(wù)器部署相同的應(yīng)用構(gòu)成一個(gè)集群,通過(guò)負(fù)載均衡設(shè)備共同對(duì)外提供服務(wù)。
集群化部署可以提供更好的并發(fā)特性,提供系統(tǒng)的可用性;緩存
將數(shù)據(jù)存放在距離計(jì)算最近的位置以加快處理速度。
CDN:內(nèi)容分發(fā)網(wǎng)絡(luò),部署在距離終端用戶最近的服務(wù)提供商,緩存網(wǎng)站的靜態(tài)資源;
反向代理:網(wǎng)站前端架構(gòu)的一部分,用戶請(qǐng)求到達(dá)網(wǎng)站的數(shù)據(jù)中心時(shí),最先訪問(wèn)到反向代理服務(wù)器;
本地緩存:應(yīng)用服務(wù)器本地緩存熱點(diǎn)數(shù)據(jù)在本機(jī)內(nèi)存中;
分布式緩存:?jiǎn)螜C(jī)緩存數(shù)據(jù)量有限,將數(shù)據(jù)緩存到專門(mén)的分布式緩存集群中;異步
業(yè)務(wù)之間的消息傳遞不是同步調(diào)用,而是將一個(gè)業(yè)務(wù)操作分成多個(gè)階段,每個(gè)階段之間通過(guò)共享數(shù)據(jù)的方式異步執(zhí)行進(jìn)行協(xié)作。
異步架構(gòu)的典型下模式是生產(chǎn)者和消費(fèi)者模式,優(yōu)點(diǎn)是:提供系統(tǒng)可用性、加快網(wǎng)站響應(yīng)速度,消息并發(fā)訪問(wèn)高峰;冗余
保證部分服務(wù)器宕機(jī)的情況下,網(wǎng)站依然可以繼續(xù)服務(wù),不丟失數(shù)據(jù),進(jìn)行一定程度的服務(wù)器冗余,數(shù)據(jù)冗余備份;自動(dòng)化
自動(dòng)化代碼管理,自動(dòng)化發(fā)布,自動(dòng)化測(cè)試、自動(dòng)化安全檢測(cè)、自動(dòng)化部署、自動(dòng)化監(jiān)控、自動(dòng)化報(bào)警、自動(dòng)化失效轉(zhuǎn)移、自動(dòng)化失效恢復(fù)、自動(dòng)化降級(jí)、自動(dòng)化分配資源;安全
網(wǎng)絡(luò)通信加密,防止常見(jiàn)攻擊,如XSS攻擊、SQL注入、垃圾信息過(guò)濾;
3.大型網(wǎng)站核心架構(gòu)要素
- 性能
性能優(yōu)化:瀏覽器端、應(yīng)用服務(wù)器端、異步、代碼層面優(yōu)化、數(shù)據(jù)庫(kù)優(yōu)化;
性能指標(biāo):響應(yīng)時(shí)間、TPS、系統(tǒng)性能計(jì)數(shù)器 - 可用性
網(wǎng)站高可用的主要手段是容易,應(yīng)用部署在多臺(tái)服務(wù)器上,通過(guò)負(fù)載均衡對(duì)外提供服務(wù); - 伸縮性
不斷向集群中加入服務(wù)器來(lái)緩解不斷上升的用戶并發(fā)訪問(wèn)壓力和不斷增長(zhǎng)的數(shù)據(jù)存儲(chǔ)需求; - 擴(kuò)展性
事件驅(qū)動(dòng)架構(gòu):通常利用消息隊(duì)列實(shí)現(xiàn);
分布式服務(wù):將業(yè)務(wù)和可復(fù)用的服務(wù)分離開(kāi)來(lái),通過(guò)分布式服務(wù)框架調(diào)用; - 安全性
4.網(wǎng)站的高性能架構(gòu)
網(wǎng)站性能測(cè)試
- 性能測(cè)試指標(biāo)
√ 響應(yīng)時(shí)間:應(yīng)用執(zhí)行一個(gè)操作需要的時(shí)間,從發(fā)出請(qǐng)求開(kāi)始到響應(yīng)所需數(shù)據(jù)的時(shí)間;
√ 并發(fā)數(shù):系統(tǒng)能同時(shí)處理請(qǐng)求的數(shù)目,對(duì)于網(wǎng)站而言,并發(fā)數(shù)即網(wǎng)站并發(fā)用戶數(shù); 網(wǎng)站系統(tǒng)用戶數(shù) >> 網(wǎng)站在線用戶 >> 網(wǎng)站并發(fā)用戶數(shù)
√ 吞吐量:?jiǎn)挝粫r(shí)間內(nèi)系統(tǒng)處理的請(qǐng)求數(shù)量,體現(xiàn)系統(tǒng)的整體處理能力。 TPS是每秒事務(wù)數(shù),HPS是每秒HTTP請(qǐng)求數(shù),QPS是每秒查詢數(shù);
√ 性能計(jì)數(shù)器:包括System Load、對(duì)象與線程數(shù)、內(nèi)存使用、CPU使用、磁盤(pán)與網(wǎng)絡(luò)I/O - 性能測(cè)試方法
√ 性能測(cè)試
√ 負(fù)載測(cè)試
√ 壓力測(cè)試
√ 穩(wěn)定性測(cè)試 - 性能測(cè)試報(bào)告
- 性能優(yōu)化策略
√ 性能分析
√ 性能優(yōu)化
Web前端性能優(yōu)化
瀏覽器訪問(wèn)優(yōu)化
√ 減少http請(qǐng)求:http請(qǐng)求是無(wú)狀態(tài)的,每次http請(qǐng)求都需要建立通信鏈路進(jìn)行數(shù)據(jù)傳輸。主要手段有:合并CSS、合并JS、合同圖片等資源
√ 使用瀏覽器緩存
√ 啟用壓縮
√ CSS放在頁(yè)面最上面、JS放在頁(yè)面最下面
√ 減少Cookie傳輸CDN加速
反向代理
應(yīng)用服務(wù)器性能優(yōu)化
主要手段有緩存、集群、異步等
- 分布式緩存
網(wǎng)站性能優(yōu)化第一定律:優(yōu)先考慮使用緩存優(yōu)化性能。
緩存的本質(zhì)是Hash表,數(shù)據(jù)緩存以一對(duì)Key、Value的形勢(shì)存儲(chǔ)在內(nèi)存Hash表中,Hash表數(shù)據(jù)讀寫(xiě)時(shí)間復(fù)雜度是O(1)。 - 使用異步操作
使用消息隊(duì)列講調(diào)用異步化,可以改善網(wǎng)站的擴(kuò)展性; - 使用集群
網(wǎng)站高并發(fā)訪問(wèn)場(chǎng)景下,使用負(fù)載均衡技術(shù)為一個(gè)應(yīng)用構(gòu)建一個(gè)由多臺(tái)服務(wù)器組成的服務(wù)器集群,將并發(fā)訪問(wèn)的請(qǐng)求分發(fā)到多臺(tái)服務(wù)器上處理,避免單一服務(wù)器因負(fù)載壓力過(guò)大二響應(yīng)緩慢。 - 代碼優(yōu)化
√ 多線程:最大限度的使用CPU資源
最佳啟動(dòng)線程數(shù)和CPU內(nèi)核數(shù)量成正比,和IO阻塞時(shí)間成反比;
多線程編程要考慮線程安全的問(wèn)題:將對(duì)象設(shè)計(jì)為無(wú)狀態(tài)對(duì)象,使用局部對(duì)象,并發(fā)訪問(wèn)資源是使用鎖;
√ 資源復(fù)用:?jiǎn)卫蛯?duì)象池
√ 數(shù)據(jù)結(jié)構(gòu)
√ 垃圾回收
存儲(chǔ)性能優(yōu)化
- 機(jī)械硬盤(pán)VS固態(tài)硬盤(pán)
- B+樹(shù) Vs LSM樹(shù)
B+樹(shù)是一種轉(zhuǎn)么針對(duì)磁盤(pán)存儲(chǔ)優(yōu)化的N叉排序樹(shù),以樹(shù)節(jié)點(diǎn)為單位存儲(chǔ)在磁盤(pán)中,從跟開(kāi)始查找所需數(shù)據(jù)所在的節(jié)點(diǎn)編號(hào)和磁盤(pán)位置,將其加載到內(nèi)存中繼續(xù)查找;目前關(guān)系型數(shù)據(jù)庫(kù)多采用兩級(jí)索引的B+樹(shù);
LSM樹(shù)可以看做是一顆N階合并樹(shù),數(shù)據(jù)寫(xiě)操作都在內(nèi)存中進(jìn)行,并且都會(huì)創(chuàng)建一個(gè)新的記錄,這些數(shù)據(jù)在內(nèi)存中仍然是一顆排序樹(shù)。目前需要NoSQL產(chǎn)品采用LSM樹(shù)做主要數(shù)據(jù)結(jié)構(gòu); - RAID VS HDFS
目前服務(wù)器級(jí)別的計(jì)算機(jī)都支持插入多塊磁盤(pán),通過(guò)使用RAID技術(shù),實(shí)現(xiàn)數(shù)據(jù)在多塊磁盤(pán)上的并發(fā)讀寫(xiě)和數(shù)據(jù)備份;
HDFS(Hadoop分布式文件系統(tǒng)),系統(tǒng)在整個(gè)存儲(chǔ)集群的多臺(tái)服務(wù)器上進(jìn)行數(shù)據(jù)并發(fā)讀寫(xiě)和備份。
5.網(wǎng)站高可用架構(gòu)
網(wǎng)站可用性度量與考核
- 網(wǎng)站可用性度量
網(wǎng)站不可用時(shí)間(故障時(shí)間) = 故障修復(fù)時(shí)間點(diǎn) - 故障發(fā)現(xiàn)時(shí)間點(diǎn)
網(wǎng)站年度可用性指標(biāo) = (1-網(wǎng)站不可以時(shí)間/年度總時(shí)間)* 100%
2個(gè)9是基本可用,網(wǎng)站年度不可用時(shí)間小于88小時(shí)
3個(gè)9是較高可用,網(wǎng)站年度不可用時(shí)間小于9小時(shí)
4個(gè)9是具備自動(dòng)恢復(fù)能力的高可用,網(wǎng)站年度不可以用時(shí)間小于53分鐘
5個(gè)9是極高可用性,網(wǎng)站年度不可用時(shí)間小于5分鐘 - 網(wǎng)站可用性考核
故障分是指對(duì)網(wǎng)站故障進(jìn)行分類加權(quán)計(jì)算故障責(zé)任的方法。
故障分 = 故障時(shí)間(分鐘) * 故障權(quán)重
高可用網(wǎng)站架構(gòu)
典型的網(wǎng)站設(shè)計(jì)通常遵循三層分層架構(gòu)模型:應(yīng)用層、服務(wù)層、數(shù)據(jù)層;
實(shí)現(xiàn)高可用架構(gòu)的主要手段是數(shù)據(jù)和服務(wù)的冗余備份和失效轉(zhuǎn)移。
高可用的應(yīng)用
應(yīng)用的顯著特點(diǎn)是無(wú)狀態(tài)性
- 通過(guò)負(fù)載均衡進(jìn)行無(wú)狀態(tài)服務(wù)的失效轉(zhuǎn)移
- 應(yīng)用服務(wù)器集群的Session管理
Session管理的主要手段有:Session復(fù)制、session綁定、利用Cookie記錄Session、Session服務(wù)器
高可用的服務(wù)
- 分級(jí)管理
- 超時(shí)設(shè)置
- 異步調(diào)用
- 服務(wù)降級(jí)
- 冪等性設(shè)計(jì)
高可用的數(shù)據(jù)
- CAP原理:一個(gè)提供數(shù)據(jù)服務(wù)的存儲(chǔ)系統(tǒng)無(wú)法同時(shí)滿足數(shù)據(jù)一致性(Consistency)、數(shù)據(jù)可用性(Availbility)、分區(qū)耐受性(Patition Tolerance)這三個(gè)條件。
大型網(wǎng)站通常會(huì)選擇強(qiáng)化分布式存儲(chǔ)系統(tǒng)的可用性(A)和伸縮性(P),而在一定程度上放棄一致性(C)
數(shù)據(jù)一致性又分為:數(shù)據(jù)強(qiáng)一致性、數(shù)據(jù)用戶一致性、數(shù)據(jù)最終一致性 - 數(shù)據(jù)備份:冷備和熱備,熱備又分為異步熱備和同步熱備;
- 失效轉(zhuǎn)移:失效確認(rèn)、訪問(wèn)轉(zhuǎn)移、數(shù)據(jù)恢復(fù)
高可用網(wǎng)站的軟件質(zhì)量保證
- 網(wǎng)站發(fā)布: 使用發(fā)布腳本來(lái)發(fā)布,每次關(guān)閉服務(wù)器都是機(jī)器中的一小部分,并且發(fā)布完成后可以立即訪問(wèn);
- 自動(dòng)化測(cè)試:Web自動(dòng)化測(cè)試技術(shù)
- 預(yù)發(fā)布驗(yàn)證:預(yù)發(fā)布服務(wù)器和線上正式服務(wù)器的唯一不同就是沒(méi)有配置在負(fù)載均衡服務(wù)器上,外部用戶無(wú)法訪問(wèn);
- 代碼控制
- 自動(dòng)化發(fā)布
- 灰度發(fā)布
網(wǎng)站運(yùn)行監(jiān)控
- 監(jiān)控?cái)?shù)據(jù)采集:
√ 用戶行為日志收集:服務(wù)端日志收集、客戶端瀏覽器日志收集
√ 服務(wù)器性能監(jiān)控
√ 運(yùn)行數(shù)據(jù)報(bào)告 - 監(jiān)控管理:系統(tǒng)報(bào)警、失效轉(zhuǎn)移、自動(dòng)優(yōu)雅降級(jí)
6.網(wǎng)站伸縮性架構(gòu)
網(wǎng)站架構(gòu)的伸縮性設(shè)計(jì)
- 不同功能進(jìn)行物理分離實(shí)現(xiàn)伸縮
縱向分離(分層后分離):將業(yè)務(wù)流程上的不同部分分離部署,實(shí)現(xiàn)系統(tǒng)伸縮性;
橫向分離(業(yè)務(wù)分割后分離):將不同的業(yè)務(wù)模塊分離部署 - 單一功能通過(guò)集群規(guī)模實(shí)現(xiàn)伸縮
使用服務(wù)器集群,將相同服務(wù)部署在多臺(tái)服務(wù)器上構(gòu)成一個(gè)集群整體對(duì)外提供服務(wù);
應(yīng)用服務(wù)器集群的伸縮性設(shè)計(jì)
- HTTP重定向負(fù)載均衡
優(yōu)點(diǎn)是簡(jiǎn)單,缺點(diǎn)是瀏覽器需要兩次請(qǐng)求服務(wù)器才能完成一次訪問(wèn),性能較差; - DNS域名解析負(fù)載均衡
每次域名解析請(qǐng)求都會(huì)根據(jù)負(fù)載均衡算法計(jì)算一個(gè)不同的IP地址返回,這樣A記錄中配置的多個(gè)服務(wù)器就構(gòu)成一個(gè)集群,并可以實(shí)現(xiàn)負(fù)載均衡。 - 反向代理負(fù)載均衡
優(yōu)點(diǎn)是部署簡(jiǎn)單,缺點(diǎn)是反向代理服務(wù)器是所有請(qǐng)求和響應(yīng)的中轉(zhuǎn)站,其性能可能成為瓶頸;請(qǐng)求在HTTP協(xié)議層面,也叫作應(yīng)用層負(fù)載均衡。 - IP負(fù)載均衡
在網(wǎng)絡(luò)層通過(guò)修改請(qǐng)求目標(biāo)地址進(jìn)行負(fù)載均衡; - 數(shù)據(jù)鏈路層負(fù)載均衡
在通信協(xié)議的數(shù)據(jù)鏈路層修改mac地址進(jìn)行負(fù)載均衡;Linux平臺(tái)式最好的鏈路層負(fù)載均衡開(kāi)源產(chǎn)品是LVS(Linux Visual Server) - 負(fù)載均衡算法
√ 輪詢(Round Robin,RR)
√ 加權(quán)輪詢(Weighted Round Robin,WRR)
√ 隨機(jī)(Random)
√ 最少連接(Least Conections)
√ 源地址散列(Source Hashing)
7.網(wǎng)站的可擴(kuò)展架構(gòu)
利用分布式消息隊(duì)列降低系統(tǒng)耦合性
- 事件驅(qū)動(dòng)架構(gòu)
通過(guò)低耦合的模塊之間傳輸事件消息,以保持模塊的松散耦合,并借助事件消息的通信完成模塊間的合作。 - 分布式消息隊(duì)列
隊(duì)列是一致先進(jìn)先出的數(shù)據(jù)結(jié)構(gòu),分布式消息隊(duì)列可以看做將這種數(shù)據(jù)結(jié)構(gòu)部署到獨(dú)立的服務(wù)器上,應(yīng)用程序可以通過(guò)遠(yuǎn)程訪問(wèn)接口使用分布式消息隊(duì)列,進(jìn)行消息的存取操作,進(jìn)而實(shí)現(xiàn)分布式的異步調(diào)用。
利用分布式服務(wù)打造可復(fù)用的業(yè)務(wù)平臺(tái)
分布式消息隊(duì)列通過(guò)消息對(duì)象分解系統(tǒng)的耦合性,不同子系統(tǒng)處理同一個(gè)消息;分布式服務(wù)則通過(guò)接口分解系統(tǒng)的耦合性,不同子系統(tǒng)通過(guò)相同的接口描述進(jìn)行服務(wù)調(diào)用。
- Web Service與企業(yè)級(jí)分布式服務(wù)
優(yōu)點(diǎn)是成熟的技術(shù)規(guī)范和產(chǎn)品實(shí)現(xiàn),缺點(diǎn)是臃腫的服務(wù)注冊(cè)于發(fā)現(xiàn)機(jī)制,低效的XML序列化收到,開(kāi)銷較高的HTTP通信機(jī)制; - 大型網(wǎng)站分布式服務(wù)的需求與特點(diǎn)
√ 負(fù)載均衡
√ 失效轉(zhuǎn)移
√ 高效的遠(yuǎn)程通信
√ 整合異構(gòu)系統(tǒng)
√ 對(duì)應(yīng)用最少侵入
√ 版本管理
√ 實(shí)時(shí)監(jiān)控 - 分布式服務(wù)框架設(shè)計(jì)
Dubbo
Thrift
可擴(kuò)展的數(shù)據(jù)結(jié)構(gòu)
無(wú)需修改表結(jié)構(gòu)就可以新增字段的數(shù)據(jù)庫(kù),NoSQL產(chǎn)品
利用開(kāi)放平臺(tái)建設(shè)網(wǎng)站生態(tài)圈
開(kāi)放網(wǎng)站內(nèi)部服務(wù),封裝成一些調(diào)用接口開(kāi)放出去,供外部的第三方開(kāi)發(fā)者使用。
8.網(wǎng)站的安全性架構(gòu)
網(wǎng)站應(yīng)用的攻擊與防御
? XSS攻擊
XSS攻擊即跨站點(diǎn)腳本攻擊,值黑客通過(guò)篡改網(wǎng)頁(yè),并注入惡意的HTML腳本,在用戶瀏覽網(wǎng)頁(yè)時(shí),控制用戶瀏覽器進(jìn)行惡意操作的一種攻擊方式。
常見(jiàn)的XSS攻擊類型有兩種:反射型和持久型;
消毒:進(jìn)行過(guò)濾和消毒處理,對(duì)html腳本中的危險(xiǎn)字符轉(zhuǎn)義;
HttpOnly:瀏覽器緊張頁(yè)面JS訪問(wèn)帶有HttpOnly屬性的Cookie。
- 注入攻擊
SQL注入攻擊和OS注入攻擊
消毒:過(guò)濾請(qǐng)求中可能注入的SQL
參數(shù)綁定:使用預(yù)編譯授權(quán),綁定參數(shù)是最好的防SQL注入方法; - CSRF攻擊
跨站點(diǎn)請(qǐng)求偽造,攻擊者通過(guò)跨站請(qǐng)求,以合法的用戶身份進(jìn)行非法操作,核心是利用了瀏覽器Cookie或服務(wù)器Session策略;
防御手段:表單Token、驗(yàn)證碼、Referer check - 其他攻擊和漏洞
√ Error Code:故意制造非法輸入,使系統(tǒng)運(yùn)行出錯(cuò),獲得異常信息,從而尋找系統(tǒng)漏洞進(jìn)行攻擊;
√ HTML注釋:應(yīng)避免HTML語(yǔ)法注釋
√ 路徑遍歷 - Web應(yīng)用防火墻
使用開(kāi)源的或者商用的網(wǎng)站防火墻 - 網(wǎng)站安全漏洞掃描
不定期對(duì)網(wǎng)站服務(wù)器進(jìn)行掃描,查漏補(bǔ)缺;
信息加密技術(shù)及秘鑰管理
- 單向散列加密
對(duì)不同輸入長(zhǎng)度的信息進(jìn)行散列技術(shù),得到固定長(zhǎng)度的輸出,散列計(jì)算過(guò)程是單向不可逆的;常見(jiàn)的單向散列算法有MD5、SHA - 對(duì)稱加密
加解密秘鑰是同一個(gè),通常用于需要安全交換或存儲(chǔ)的場(chǎng)合,如Cookie加密,通信加密等;
優(yōu)點(diǎn):算法簡(jiǎn)單、加解密效率高,缺點(diǎn)是秘鑰泄露就不安全了;
常見(jiàn)的對(duì)稱加密算法有:DES加密,RC加密 - 非對(duì)稱加密
非對(duì)稱加密和解密的秘鑰不是同一個(gè),其中一個(gè)對(duì)外界公開(kāi)稱為公鑰,另外一個(gè)只有所有者指定,稱為私鑰;
場(chǎng)景:信息安全傳輸、數(shù)字簽名
常見(jiàn)算法:RSA算法 - 密鑰安全管理
密鑰和算法放在一個(gè)獨(dú)立的服務(wù)器上,甚至做成一個(gè)專用的硬件設(shè)施;
加解密算法放在應(yīng)用系統(tǒng),秘鑰放在獨(dú)立服務(wù)器上;
信息過(guò)濾與反垃圾
常用的信息過(guò)濾與反垃圾手段有以下幾種:
- 文本匹配:主要是解決敏感詞問(wèn)題;
- 分類算法:簡(jiǎn)單實(shí)用的貝葉斯分類算法
- 黑名單:被報(bào)告的垃圾郵箱放入黑名單
電子商務(wù)風(fēng)險(xiǎn)控制
- 風(fēng)險(xiǎn):賬戶風(fēng)險(xiǎn)、賣家風(fēng)險(xiǎn)、買家風(fēng)險(xiǎn)、交易風(fēng)險(xiǎn)
- 風(fēng)控:規(guī)則引擎、統(tǒng)計(jì)模型