iUAP技術(shù)架構(gòu)課件_第1頁
iUAP技術(shù)架構(gòu)課件_第2頁
iUAP技術(shù)架構(gòu)課件_第3頁
iUAP技術(shù)架構(gòu)課件_第4頁
iUAP技術(shù)架構(gòu)課件_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

iUAP技術(shù)架構(gòu)目錄技術(shù)平臺架構(gòu)具體場景描述互聯(lián)網(wǎng)平臺設(shè)計(jì)原則互聯(lián)網(wǎng)平臺不同于企業(yè)內(nèi)部應(yīng)用平臺,它需要面對百萬甚至千萬級的并發(fā)用戶,如何應(yīng)對…PartitionEverything盡可能的拆分CacheEverything

盡可能的緩存AsyncEverything盡可能的異步AutomaticEverything盡可能的自動化EverythingMayFail

盡可能的容錯A(tomicity)C(onsistency)I(solation)D(urability)C(onsistency)A(vailability)P(artitiontolerance)B(asically)A(vailable)S(oftstate)E(ventuallyconsistent)盡可能的拆分:用分布式機(jī)制保證高擴(kuò)展性應(yīng)用服務(wù)的分布式 分布式服務(wù)通訊框架主要包括服務(wù)注冊中心和監(jiān)控中心2大組件,提供動態(tài)的遠(yuǎn)程服務(wù)調(diào)用,軟負(fù)載均衡,故障隔離等功能,適合大規(guī)模高并發(fā)型交易型網(wǎng)站.在建設(shè)初期為了減少實(shí)施和部署的復(fù)雜度,可以使用一些商業(yè)中間件如WebsphereCluster或WeblogicCluster等提供的集群機(jī)制來實(shí)現(xiàn)負(fù)載均衡和故障轉(zhuǎn)移等功能,基于SOA的松耦合架構(gòu)支持未來以較小的代價(jià)升級到分布式服務(wù)通訊框架搜索服務(wù)的分布式 推薦使用Solr搜索引擎,搜索請求由應(yīng)用服務(wù)器(或客戶端)發(fā)起,可通過Apache服務(wù)器根據(jù)集群策略轉(zhuǎn)發(fā)到集群中任意一臺搜索服務(wù)器執(zhí)行。此外Solr還支持分布式搜索,Solr從1.3版本開始,自帶了分布式搜索(DistributedSearch)。這個(gè)功能使得Solr能夠通過多服務(wù)器進(jìn)行橫行擴(kuò)展,對數(shù)據(jù)進(jìn)行水平拆分,從而支持海量數(shù)據(jù)的搜索功能。緩存的分布式 推薦使用varnish、memcached或Redise作為緩存服務(wù)器,memcached是一款免費(fèi)、開源,高性能,分布式的內(nèi)存對象緩存系統(tǒng),它可以應(yīng)對任意多個(gè)連接,使用非阻塞的網(wǎng)絡(luò)IO。

memcached是通過客戶端的算法實(shí)現(xiàn)緩存的分布機(jī)制,通過hash算法保證緩存能均勻地分布在緩存服務(wù)器中,并避免了單臺緩存服務(wù)器的故障導(dǎo)致緩存服務(wù)器集群所有服務(wù)器需要重新刷新緩存數(shù)據(jù)訪問的分布式將業(yè)務(wù)緊密,表間關(guān)聯(lián)密切的表劃分到同一個(gè)數(shù)據(jù)庫(如按照中心對數(shù)據(jù)垂直切分成多數(shù)據(jù)庫),當(dāng)網(wǎng)站數(shù)據(jù)量非常巨大且增速異常迅猛,垂直切分后的數(shù)據(jù)庫仍然不能滿足性能需要時(shí),一般可以考慮通過全局索引庫或者h(yuǎn)ash分庫來做水平切分分庫,水平分庫的多數(shù)據(jù)源訪問一般需要通過分布式數(shù)據(jù)訪問層來做數(shù)據(jù)路以保證數(shù)據(jù)負(fù)載均衡和分布式事務(wù)。盡可能的拆分:垂直拆分和讀寫分離數(shù)據(jù)類型定義基礎(chǔ)共享類數(shù)據(jù):主要包括商品主數(shù)據(jù)、后臺配置信息等交易類數(shù)據(jù):主要包括用戶、訂單類數(shù)據(jù)基礎(chǔ)共享類類數(shù)據(jù)建議可通過讀寫分離+數(shù)據(jù)復(fù)制實(shí)現(xiàn)分庫目前主流的數(shù)據(jù)庫復(fù)制技術(shù)主要有3類:Q復(fù)制、CDC和SQL復(fù)制,基于性能和穩(wěn)定性考慮,建議采用Q復(fù)制(基于消息隊(duì)列,支持ORACLE和DB2等大型數(shù)據(jù)庫)交易類數(shù)據(jù)建議通過應(yīng)用拆分成多庫,一般使用以下兩種數(shù)據(jù)訪問方式基于全局索引庫分庫Hash分庫主數(shù)據(jù)庫應(yīng)用層用戶商品訂單……按表的相關(guān)性劃分,關(guān)系緊密的表(比如某個(gè)模塊的表)放在同一個(gè)庫垂直切分?jǐn)?shù)據(jù)庫垂直切分?jǐn)?shù)據(jù)庫讀寫分離應(yīng)用層寫庫節(jié)點(diǎn)只讀庫節(jié)點(diǎn)寫入讀取復(fù)制方案存儲獨(dú)立存儲獨(dú)立存儲負(fù)載類型負(fù)載類型盡可能的拆分:水平拆分基于全局索引庫水平分庫示例基于hash水平分庫示例分庫方式優(yōu)點(diǎn)缺點(diǎn)基于全局索引庫分庫1、通過全局索引庫可以清晰地了解交易類數(shù)據(jù)所在庫位,便于統(tǒng)一管理維護(hù)2、由于一個(gè)用戶的所有交易數(shù)據(jù)只分布在一個(gè)節(jié)點(diǎn)上(前臺的業(yè)務(wù)盡量避免查詢其他用戶交易數(shù)據(jù)的邏輯,如有必要可通過統(tǒng)計(jì)等基礎(chǔ)模塊來提供數(shù)據(jù)),因此很大程度上避免了跨數(shù)據(jù)庫節(jié)點(diǎn)查詢帶來的性能消耗和對現(xiàn)有應(yīng)用的修改3、很大程度上避免了分布式事務(wù)的處理機(jī)制需要搭建全局索引庫集群環(huán)境,每次操作需增加一次數(shù)據(jù)讀取操作,性能會有影響(可利用分布式緩存減少性能損耗)基于唯一標(biāo)識hash分庫具有較好的靈活性,數(shù)據(jù)分布均勻1、對于跨數(shù)據(jù)庫節(jié)點(diǎn)的查詢需要應(yīng)用將一次查詢修改成多次查詢,并且會帶來性能的開銷2、需要考慮分布式事務(wù)的實(shí)現(xiàn)機(jī)制盡可能的緩存:多級緩存與靜態(tài)化機(jī)制要做到盡可能的緩存動靜分離頁面的動靜分離(*)資源的動靜分離(*)偽靜態(tài)化多級緩存CDN(*)PageCacheServer(*)DataCacheServer分布式緩存分布式緩存架構(gòu)替換LocalJVM(*)主動失效機(jī)制(*)盡可能的異步:通過異步處理機(jī)制支持高并發(fā)要做到盡可能的異步同步改異步:將所有跟用戶交互不相干的,非主流程的操作,由同步改成異步,最大程度的提高系統(tǒng)吞吐量。例如:訂單提交給OMS,返券,記日志和審計(jì),發(fā)郵件和短信。使用獨(dú)立的MessageServer,最大程度的提高系統(tǒng)吞吐量盡可能的自動化:如自動發(fā)布部署工具,自動構(gòu)建索引自動發(fā)布部署自動構(gòu)建搜索索引盡可能的容錯:用集群機(jī)制減少單點(diǎn)故障,保證高可用前端web集群可以通過不同的特征,將前端服務(wù)請求分流到不同的后端應(yīng)用集群中,這樣一方面可以使互聯(lián)網(wǎng)用戶不能訪問后臺系統(tǒng),保證了后臺系統(tǒng)的訪問安全,同時(shí)避免后臺系統(tǒng)某些業(yè)務(wù)操作對前臺系統(tǒng)的造成的性能影響,另一方面可以根據(jù)系統(tǒng)壓力靈活分配前后端應(yīng)用集群使用的應(yīng)用服務(wù)器,甚至可以在訪問高峰期將后端應(yīng)用集群的機(jī)器臨時(shí)分配給前端應(yīng)用集群使用分布式服務(wù)通訊框架主要包括服務(wù)注冊中心和監(jiān)控中心2大組件,提供動態(tài)的遠(yuǎn)程服務(wù)調(diào)用,軟負(fù)載均衡,故障隔離等功能??梢越梃b業(yè)界比較認(rèn)可的阿里巴巴提供的開源服務(wù)通訊框架Dubbo來搭建服務(wù)通訊框架安全性的考慮:系統(tǒng)安全網(wǎng)絡(luò)安全

在接入安全方面,可以采用防火墻的設(shè)置,保證所有經(jīng)過不同網(wǎng)絡(luò)接入方式的數(shù)據(jù)安全。用戶在接入平臺時(shí),需要經(jīng)過兩層異構(gòu)防火墻才可訪問。對于核心服務(wù)區(qū)中的服務(wù)器的訪問安全,建議考慮采用業(yè)界一些著名的主機(jī)服務(wù)器的入侵檢測方案。系統(tǒng)安全

在核心服務(wù)區(qū)中的服務(wù)器上安裝配置主機(jī)漏洞掃描軟件,這樣就可以在整個(gè)企業(yè)范圍內(nèi)為關(guān)鍵性應(yīng)用程序和服務(wù)器自動搜索發(fā)現(xiàn)其漏洞隱患和不符合安全策略的設(shè)定。建議考慮采用業(yè)界優(yōu)秀的防病毒解決方案。

建議WEB服務(wù)器接入防篡改系統(tǒng),防止黑客攻擊web服務(wù)器,篡改內(nèi)容應(yīng)用安全用戶身份認(rèn)證與支付,基于RSA安全控制機(jī)制,采用動態(tài)口令牌、CA證書等多種認(rèn)證技術(shù)手段,保證交易安全級別;支持交易隔離和交易分類功能,可按交易的安全級別將應(yīng)用分離部署,如前后臺應(yīng)用分離,將互聯(lián)網(wǎng)用戶從網(wǎng)絡(luò)層與后臺應(yīng)用隔離。同理也可以將某些特殊應(yīng)用(如秒殺)和普通應(yīng)用分流到不同的應(yīng)用集群中,以限制某類交易資源占用異常對其他交易的影響,提高業(yè)務(wù)系統(tǒng)整體可用性。數(shù)據(jù)安全

一方面,在數(shù)據(jù)庫物理存儲上將按照移動制定的相應(yīng)的安全政策,來管理數(shù)據(jù)庫本身所依存的硬件、及其存放場所的物理安全。一方面,對于數(shù)據(jù)庫實(shí)施的操作可以利用審計(jì)功能,監(jiān)視用戶對數(shù)據(jù)庫施加的動作安全性的考慮:應(yīng)用安全賬號管理支持設(shè)置賬戶策略支持設(shè)置密碼策略密碼保護(hù)命令多種認(rèn)證機(jī)制PKI安全體系驗(yàn)證建議購買SSL證書,為商城的機(jī)密數(shù)據(jù)提供加密傳輸功能,從而確保機(jī)密信息的機(jī)密性、完整性和不可否認(rèn)對包含用戶密碼、證件號碼等敏感信息的頁面如登錄、會員中心、購物車等啟用SSL數(shù)據(jù)傳輸加密安全通道,防用戶隱私遭監(jiān)視業(yè)務(wù)操作控制對于敏感數(shù)據(jù),采用加密的方式保存在數(shù)據(jù)庫中采用動態(tài)短信密碼、圖片驗(yàn)證碼等方式保證用戶賬號的安全對于協(xié)議支付的支付密碼輸入框,建議使用密碼控件使用預(yù)編譯語句集防SQL注入支持跨站點(diǎn)腳本編制保護(hù)(基于過濾器,拒絕包含指定為不允許的屬性(參數(shù))或字符串的任何用戶請求)防跨站點(diǎn)腳本攻擊支持跨站點(diǎn)請求偽造保護(hù)(啟用跨站點(diǎn)請求偽造保護(hù)時(shí),會要求在請求中包含一個(gè)名為authToken的指定URL參數(shù))防請求偽造式網(wǎng)絡(luò)釣魚攻擊支持URL重定向過濾(啟用URL重定向過濾時(shí),拒絕所有嘗試重定向到未授權(quán)站點(diǎn)的請求)防重定向網(wǎng)絡(luò)釣魚攻擊技術(shù)平臺的架構(gòu)設(shè)計(jì)高并發(fā)垂直拆分:不同系統(tǒng)間拆分(搜索系統(tǒng)、文件系統(tǒng)等)、動靜服務(wù)分離水平拆分:數(shù)據(jù)庫層面基于指定維度的分庫、分表讀寫分離:數(shù)據(jù)庫讀寫分離水平擴(kuò)展:負(fù)載均衡設(shè)備、WEB服務(wù)器、數(shù)據(jù)庫服務(wù)器、緩存服務(wù)器、文件服務(wù)器、應(yīng)用服務(wù)等集群都支持水平擴(kuò)展多級緩存:CDN、靜態(tài)內(nèi)容緩存、頁面緩存、數(shù)據(jù)緩存異步解耦:消息隊(duì)列、異步調(diào)用資源池:連接池、線程池高性能高可用集群部署:對等、主從故障自動切換:心跳檢測、選舉無單點(diǎn)部署架構(gòu)圖-完整版平臺中間件部署架構(gòu)部署架構(gòu)圖-簡化版目錄技術(shù)平臺架構(gòu)具體場景描述場景化描述Nginx,F(xiàn)astDFS訪問首頁Ameoba/MyCat商品詳情Solr商品搜索Redis,Dubbox用戶登錄RabbitMQ,Quartz用戶下單xx網(wǎng)站促銷小明關(guān)鍵場景與中間件:

一、首頁訪問場景描述某電商網(wǎng)站促銷,吸引大量流量,小明在其他網(wǎng)站看到促銷廣告,點(diǎn)擊進(jìn)入這個(gè)網(wǎng)站首頁。關(guān)鍵問題高并發(fā)下的頁面緩存、圖片下載訪問涉及中間件技術(shù)Nginx(反向代理緩存)FastDFS(文件存儲系統(tǒng))圖片下載(大小圖)靜態(tài)頁面FastDFS1234首頁訪問關(guān)鍵中間件技術(shù):Nginx,F(xiàn)astDFSNginx(反向代理緩存)適用于需要大量重復(fù)訪問同類的靜態(tài)資源擴(kuò)展性:動態(tài)增加節(jié)點(diǎn)可用性:數(shù)據(jù)一致性哈希散列分布,降低單臺故障率FastDFS(文件存儲系統(tǒng))FastDFS適用于海量小圖片的存儲,MongoDB更適合存儲需要查詢的非結(jié)構(gòu)化數(shù)據(jù)擴(kuò)展性:動態(tài)增加存儲節(jié)點(diǎn)備份動態(tài)增加存儲組擴(kuò)容可用性:代理節(jié)點(diǎn)無中心化存儲節(jié)點(diǎn)多份備份Nginx緩存集群所處集群位置Nginx緩存配置Nginx緩存目錄FastDFS狀態(tài)FastDFS存儲目錄所處集群位置FastDFS集群關(guān)鍵場景與中間件:

二、用戶登錄場景描述小明在網(wǎng)站首頁瀏覽后,點(diǎn)擊了登錄按鈕,輸入用戶名密碼進(jìn)行登錄。關(guān)鍵問題高并發(fā)下的登錄服務(wù)調(diào)用、分布式會話、安全涉及中間件技術(shù)Redis(會話信息緩存)Dubbox(分布式服務(wù))1234新增唯一web節(jié)點(diǎn)會話信息仍然保持用戶登錄關(guān)鍵中間件技術(shù):Redis,DubboxRedis(會話信息緩存)適用于集中式的緩存存儲,支持高并發(fā)的鍵值對讀寫,以及非實(shí)時(shí)的持久化業(yè)務(wù)擴(kuò)展性:主從擴(kuò)展數(shù)據(jù)分片可用性:通過哨兵實(shí)現(xiàn)主從自動故障遷移Dubbox(分布式服務(wù))適用于具體業(yè)務(wù)服務(wù)擴(kuò)展性:服務(wù)自動擴(kuò)容減容可用性:通過Zookeeper的高可用保證服務(wù)的注冊和發(fā)現(xiàn)Redis集群所處集群位置Redis主從切換Redis集群狀態(tài)初始一個(gè)服務(wù)實(shí)例新啟動一個(gè)服務(wù)實(shí)例服務(wù)監(jiān)控所處集群位置Dubbox服務(wù)集群關(guān)鍵場景與中間件:

三、商品搜索場景描述小明在網(wǎng)站登錄后,在搜索欄輸入信息進(jìn)行商品搜索。關(guān)鍵問題高并發(fā)下的搜索調(diào)用涉及中間件技術(shù)Solr(信息搜索)Redis(索引信息緩存)12索引34商鋪管理員修改商品圖片Solr索引重建,搜索結(jié)果更新商品搜索關(guān)鍵中間件技術(shù):Redis,SolrSolr(搜索)適用于對數(shù)據(jù)庫大量數(shù)據(jù)針對指定屬性的快速查找擴(kuò)展性:節(jié)點(diǎn)分片集群動態(tài)增加復(fù)制節(jié)點(diǎn)分散讀壓力可用性:通過Zookeeper保證集群整體可用單分區(qū)內(nèi)主副節(jié)點(diǎn)可以自動故障切換搜索集群所處集群位置Solr集群Zookeeper選主Solr集群自動切換Solr節(jié)點(diǎn)在Zookeeper中的顯示關(guān)鍵場景與中間件:

四、商品詳情場景描述小明在搜索到具體商品后,點(diǎn)擊商品進(jìn)入商品詳情頁面展示。關(guān)鍵問題高并發(fā)下的商品詳情頁展示、數(shù)據(jù)庫讀取涉及中間件技術(shù)Redis(商品信息緩存)Nginx(反向代理緩存)FastDFS(文件存儲系統(tǒng))Dubbox(分布式服務(wù))Ameoba/MyCat(數(shù)據(jù)庫讀寫分離)Mysql讀庫12384567商品詳情頁的redis緩存商品詳情關(guān)鍵中間件技術(shù):Redis、Dubbox、Ameoba/MyCatAmeoba/MyCat(數(shù)據(jù)庫讀寫分

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論