iUAP技術架構課件_第1頁
iUAP技術架構課件_第2頁
iUAP技術架構課件_第3頁
iUAP技術架構課件_第4頁
iUAP技術架構課件_第5頁
已閱讀5頁,還剩23頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

iUAP技術架構目錄技術平臺架構具體場景描述互聯網平臺設計原則互聯網平臺不同于企業內部應用平臺,它需要面對百萬甚至千萬級的并發用戶,如何應對…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)盡可能的拆分:用分布式機制保證高擴展性應用服務的分布式 分布式服務通訊框架主要包括服務注冊中心和監控中心2大組件,提供動態的遠程服務調用,軟負載均衡,故障隔離等功能,適合大規模高并發型交易型網站.在建設初期為了減少實施和部署的復雜度,可以使用一些商業中間件如WebsphereCluster或WeblogicCluster等提供的集群機制來實現負載均衡和故障轉移等功能,基于SOA的松耦合架構支持未來以較小的代價升級到分布式服務通訊框架搜索服務的分布式 推薦使用Solr搜索引擎,搜索請求由應用服務器(或客戶端)發起,可通過Apache服務器根據集群策略轉發到集群中任意一臺搜索服務器執行。此外Solr還支持分布式搜索,Solr從1.3版本開始,自帶了分布式搜索(DistributedSearch)。這個功能使得Solr能夠通過多服務器進行橫行擴展,對數據進行水平拆分,從而支持海量數據的搜索功能。緩存的分布式 推薦使用varnish、memcached或Redise作為緩存服務器,memcached是一款免費、開源,高性能,分布式的內存對象緩存系統,它可以應對任意多個連接,使用非阻塞的網絡IO。

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

在接入安全方面,可以采用防火墻的設置,保證所有經過不同網絡接入方式的數據安全。用戶在接入平臺時,需要經過兩層異構防火墻才可訪問。對于核心服務區中的服務器的訪問安全,建議考慮采用業界一些著名的主機服務器的入侵檢測方案。系統安全

在核心服務區中的服務器上安裝配置主機漏洞掃描軟件,這樣就可以在整個企業范圍內為關鍵性應用程序和服務器自動搜索發現其漏洞隱患和不符合安全策略的設定。建議考慮采用業界優秀的防病毒解決方案。

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論