面向高并發(fā)的分布式購物平臺設計與實現(xiàn)
發(fā)布時間:2021-01-23 18:47
互聯(lián)網的迅速發(fā)展,同時也帶動了國內外電子商務的發(fā)展。越來越多的人選擇通過電商平臺實現(xiàn)商品交易。網絡交易量越來越大,無疑給電商平臺的體系架構帶來了新的挑戰(zhàn)。傳統(tǒng)的基于SSM框架的集中式架構已經無法滿足系統(tǒng)吞吐量和并發(fā)量的要求。在大數據量的訪問下,如何應對復雜的業(yè)務邏輯和突發(fā)性的訪問峰值,確保電商平臺能夠給用戶提供可靠穩(wěn)定的服務,就變成了技術上需要解決的問題。為了解決上述問題,本文引入了一款高性能的分布式服務框架Dubbo,通過將其與SSM框架集成來搭建新的電商平臺體系架構,從而實現(xiàn)一個支持高并發(fā)的、負載均衡的、擴展性強的分布式購物平臺。本文的主要研究內容如下:(1)使用分布式服務框架Dubbo集成Spring、SpringMVC,Mybatis框架作為購物平臺的整體架構,同時使用Zookeeper、Redis、Solr、ActiveMQ、FastDFS、Nginx等技術完成一個支持高負載、高并發(fā)的分布式購物平臺的設計與開發(fā)。(2)為了提高系統(tǒng)的并發(fā)性能,本文在使用Nginx做反向代理實現(xiàn)Web端負載均衡的基礎上,采用了一種可以動態(tài)調節(jié)權重的負載均衡算法對Nginx的負載均衡性能進行優(yōu)化,...
【文章來源】:浙江工商大學浙江省
【文章頁數】:87 頁
【學位級別】:碩士
【部分圖文】:
Dubbo基礎架構圖
面向高并發(fā)的分布式購物平臺設計與實現(xiàn)9圖2.2Spring架構圖其中,Core包是Spring的核心包,其主要作用是完成Bean實體對象的創(chuàng)建,WEB包主要用于和其他框架的對接,從而幫助Spring完成上下文操作,ORM包則提供了很多API接口方便其他框架的集成,比如JDO、iBatis等框架。Test包通過集成Junit可以實現(xiàn)對代碼的單元測試功能。Context包是Spring的上下文管理包,其中包括了很多訪問Bean的方式;AOP包的作用主要是提高項目開發(fā)中代碼的復用率從而進一步提高開發(fā)效率。(2)SpringMVC框架:該框架能夠接收來自用戶端的HTTP請求,并從請求中獲取到相關參數以方便后臺使用,是一種表現(xiàn)層的框架[30]。其通過將模型(Model)、控制器(Controller)和視圖(View)分離開來,通過彼此之間的配合來完成具體業(yè)務功能的實現(xiàn),由于每個模塊相對獨立,因此可以很方便地實現(xiàn)功能模塊的復用且易于擴展和維護,從而使系統(tǒng)更加靈活[31]。SpringMVC可以跟Spring框架完美對接,相比另一款表現(xiàn)層框架Struts2,其開發(fā)效率、和性能都要好很多,而且易于上手,是時下非常流行的表現(xiàn)層框架。(3)MyBatis框架:在2010年以前,該框架被稱為iBatis,之后被改名為Mybatis[31],其支持高級映射和存儲過程,是Apache旗下的一種輕量級的持久層框架。在此之前,業(yè)務層和持久層的對接通常需要使用JDBC來實現(xiàn),過程比較繁瑣且代碼量大,而Mybatis采用注解和xml文件配置的方式省去了所有JDBC代碼,讓開發(fā)者通過使用簡單的注解或配置相關的xml文件便可輕松實現(xiàn)java實體對象和數據庫表對象的屬性之間的一一映射,
面向高并發(fā)的分布式購物平臺設計與實現(xiàn)10使用起來十分方便。圖2.3是MyBatis的架構圖[32]:圖2.3Mybatis架構圖其中,接口層提供了很多API給應用程序調用,外部操作通過調用具體的API來完成與數據處理層的交互工作,數據處理層則主要負責底層數據的處理工作,可以通過SQL語言對數據進行參數映射、SQL解析、SQL執(zhí)行、結果集處理等操作;A設施層位于最底層,該部分主要包括數據源、連接池、緩存管理、事務管理、日志等。2.3NginxNginx的設計者是俄羅斯的程序設計師IgorSysoev[33],Nginx由C語言開發(fā),是一款性能優(yōu)秀的Http服務器,還可以用作電子郵件代理和反向代理服務。其可以支撐的最大并發(fā)量高達五萬,當然具體的并發(fā)性能取決于Nginx的部署環(huán)境和硬件配置,但從官方給出的測試報告中依然看出Nginx優(yōu)秀的并發(fā)性能。由于Nginx不僅運行性能穩(wěn)定,對CPU、內存等資源的消耗非常低,而且開源,因此被廣泛應用于企業(yè)系統(tǒng)架構中。當系統(tǒng)的并發(fā)請求量比較大時,如果單臺服務器無法快速的對請求進行處理和響應,則需要部署服務器集群來處理請求,通常會使用Nginx做反向代理,并通過執(zhí)行合適的負載均衡策略將請求均勻分配給多個服務器節(jié)點,從而在最大程度上提高整個服務器集群的處理能力并避免某臺服務器負載過高而宕機但仍有服務器閑置的情況。
【參考文獻】:
期刊論文
[1]Nginx負載均衡技術的研究[J]. 梁劍. 太原師范學院學報(自然科學版). 2019(02)
[2]基于Nginx的負載均衡技術研究與優(yōu)化[J]. 戴偉,馬明棟,王得玉. 計算機技術與發(fā)展. 2019(03)
[3]基于權重輪詢負載均衡算法的優(yōu)化[J]. 汪佳文,王書培,徐立波,郭家軍,俞成海. 計算機系統(tǒng)應用. 2018(04)
[4]基于JavaEE技術的網上商城管理系統(tǒng)的設計與實現(xiàn)[J]. 徐光耀,馬佳琳. 辦公自動化. 2017(22)
[5]基于Nginx服務器負載均衡技術的研究與改進[J]. 張云,許江淳,李玉惠,王志偉,史鵬坤. 軟件. 2017(08)
[6]基于Solr的混合介質存儲在淘寶系統(tǒng)中的研究與應用[J]. 汪洋,崔煒. 電子設計工程. 2017(15)
[7]基于Dubbo框架的視頻分享系統(tǒng)分析[J]. 翟金亭,吳欽卿. 中國新通信. 2016(11)
[8]基于Dubbox的分布式服務架構設計與實現(xiàn)[J]. 謝璐俊,楊鶴彪. 軟件導刊. 2016(05)
[9]An Efficient Load Balancing Approach for N-Hierarchical Web Server Cluster[J]. PAK Ilchol,QIAO Baiyou,SHEN Muchuan,ZHU Junhai,CHEN Donghai. Wuhan University Journal of Natural Sciences. 2015(06)
[10]基于負載權值的負載均衡算法[J]. 張玉芳,魏欽磊,趙膺. 計算機應用研究. 2012(12)
碩士論文
[1]基于Nginx負載均衡的動態(tài)分配技術研究[D]. 張娜.哈爾濱工程大學 2019
[2]基于Nginx的高并發(fā)訪問服務器的研究與應用[D]. 陳大才.中國科學院大學(中國科學院沈陽計算技術研究所) 2018
[3]基于SSM框架的B2C網上商城系統(tǒng)的設計與實現(xiàn)[D]. 陳峰.湖南大學 2018
[4]“互聯(lián)網+”背景下電商系統(tǒng)架構的優(yōu)化研究與實現(xiàn)[D]. 李凡.河北工程大學 2017
[5]基于Nginx的Web服務器負載均衡策略改進與實現(xiàn)[D]. 覃川.西南交通大學 2017
[6]基于Nginx高并發(fā)Web服務器的改進與實現(xiàn)[D]. 張堯.吉林大學 2016
[7]Spring框架技術分析及應用研究[D]. 翟劍錕.中國科學院大學(工程管理與信息技術學院) 2013
[8]基于Nginx和Memcached的高并發(fā)WEB服務器設計[D]. 戴華.復旦大學 2013
[9]基于資源狀況的流媒體傳輸網絡負載均衡算法研究[D]. 李師堯.東北大學 2012
本文編號:2995739
【文章來源】:浙江工商大學浙江省
【文章頁數】:87 頁
【學位級別】:碩士
【部分圖文】:
Dubbo基礎架構圖
面向高并發(fā)的分布式購物平臺設計與實現(xiàn)9圖2.2Spring架構圖其中,Core包是Spring的核心包,其主要作用是完成Bean實體對象的創(chuàng)建,WEB包主要用于和其他框架的對接,從而幫助Spring完成上下文操作,ORM包則提供了很多API接口方便其他框架的集成,比如JDO、iBatis等框架。Test包通過集成Junit可以實現(xiàn)對代碼的單元測試功能。Context包是Spring的上下文管理包,其中包括了很多訪問Bean的方式;AOP包的作用主要是提高項目開發(fā)中代碼的復用率從而進一步提高開發(fā)效率。(2)SpringMVC框架:該框架能夠接收來自用戶端的HTTP請求,并從請求中獲取到相關參數以方便后臺使用,是一種表現(xiàn)層的框架[30]。其通過將模型(Model)、控制器(Controller)和視圖(View)分離開來,通過彼此之間的配合來完成具體業(yè)務功能的實現(xiàn),由于每個模塊相對獨立,因此可以很方便地實現(xiàn)功能模塊的復用且易于擴展和維護,從而使系統(tǒng)更加靈活[31]。SpringMVC可以跟Spring框架完美對接,相比另一款表現(xiàn)層框架Struts2,其開發(fā)效率、和性能都要好很多,而且易于上手,是時下非常流行的表現(xiàn)層框架。(3)MyBatis框架:在2010年以前,該框架被稱為iBatis,之后被改名為Mybatis[31],其支持高級映射和存儲過程,是Apache旗下的一種輕量級的持久層框架。在此之前,業(yè)務層和持久層的對接通常需要使用JDBC來實現(xiàn),過程比較繁瑣且代碼量大,而Mybatis采用注解和xml文件配置的方式省去了所有JDBC代碼,讓開發(fā)者通過使用簡單的注解或配置相關的xml文件便可輕松實現(xiàn)java實體對象和數據庫表對象的屬性之間的一一映射,
面向高并發(fā)的分布式購物平臺設計與實現(xiàn)10使用起來十分方便。圖2.3是MyBatis的架構圖[32]:圖2.3Mybatis架構圖其中,接口層提供了很多API給應用程序調用,外部操作通過調用具體的API來完成與數據處理層的交互工作,數據處理層則主要負責底層數據的處理工作,可以通過SQL語言對數據進行參數映射、SQL解析、SQL執(zhí)行、結果集處理等操作;A設施層位于最底層,該部分主要包括數據源、連接池、緩存管理、事務管理、日志等。2.3NginxNginx的設計者是俄羅斯的程序設計師IgorSysoev[33],Nginx由C語言開發(fā),是一款性能優(yōu)秀的Http服務器,還可以用作電子郵件代理和反向代理服務。其可以支撐的最大并發(fā)量高達五萬,當然具體的并發(fā)性能取決于Nginx的部署環(huán)境和硬件配置,但從官方給出的測試報告中依然看出Nginx優(yōu)秀的并發(fā)性能。由于Nginx不僅運行性能穩(wěn)定,對CPU、內存等資源的消耗非常低,而且開源,因此被廣泛應用于企業(yè)系統(tǒng)架構中。當系統(tǒng)的并發(fā)請求量比較大時,如果單臺服務器無法快速的對請求進行處理和響應,則需要部署服務器集群來處理請求,通常會使用Nginx做反向代理,并通過執(zhí)行合適的負載均衡策略將請求均勻分配給多個服務器節(jié)點,從而在最大程度上提高整個服務器集群的處理能力并避免某臺服務器負載過高而宕機但仍有服務器閑置的情況。
【參考文獻】:
期刊論文
[1]Nginx負載均衡技術的研究[J]. 梁劍. 太原師范學院學報(自然科學版). 2019(02)
[2]基于Nginx的負載均衡技術研究與優(yōu)化[J]. 戴偉,馬明棟,王得玉. 計算機技術與發(fā)展. 2019(03)
[3]基于權重輪詢負載均衡算法的優(yōu)化[J]. 汪佳文,王書培,徐立波,郭家軍,俞成海. 計算機系統(tǒng)應用. 2018(04)
[4]基于JavaEE技術的網上商城管理系統(tǒng)的設計與實現(xiàn)[J]. 徐光耀,馬佳琳. 辦公自動化. 2017(22)
[5]基于Nginx服務器負載均衡技術的研究與改進[J]. 張云,許江淳,李玉惠,王志偉,史鵬坤. 軟件. 2017(08)
[6]基于Solr的混合介質存儲在淘寶系統(tǒng)中的研究與應用[J]. 汪洋,崔煒. 電子設計工程. 2017(15)
[7]基于Dubbo框架的視頻分享系統(tǒng)分析[J]. 翟金亭,吳欽卿. 中國新通信. 2016(11)
[8]基于Dubbox的分布式服務架構設計與實現(xiàn)[J]. 謝璐俊,楊鶴彪. 軟件導刊. 2016(05)
[9]An Efficient Load Balancing Approach for N-Hierarchical Web Server Cluster[J]. PAK Ilchol,QIAO Baiyou,SHEN Muchuan,ZHU Junhai,CHEN Donghai. Wuhan University Journal of Natural Sciences. 2015(06)
[10]基于負載權值的負載均衡算法[J]. 張玉芳,魏欽磊,趙膺. 計算機應用研究. 2012(12)
碩士論文
[1]基于Nginx負載均衡的動態(tài)分配技術研究[D]. 張娜.哈爾濱工程大學 2019
[2]基于Nginx的高并發(fā)訪問服務器的研究與應用[D]. 陳大才.中國科學院大學(中國科學院沈陽計算技術研究所) 2018
[3]基于SSM框架的B2C網上商城系統(tǒng)的設計與實現(xiàn)[D]. 陳峰.湖南大學 2018
[4]“互聯(lián)網+”背景下電商系統(tǒng)架構的優(yōu)化研究與實現(xiàn)[D]. 李凡.河北工程大學 2017
[5]基于Nginx的Web服務器負載均衡策略改進與實現(xiàn)[D]. 覃川.西南交通大學 2017
[6]基于Nginx高并發(fā)Web服務器的改進與實現(xiàn)[D]. 張堯.吉林大學 2016
[7]Spring框架技術分析及應用研究[D]. 翟劍錕.中國科學院大學(工程管理與信息技術學院) 2013
[8]基于Nginx和Memcached的高并發(fā)WEB服務器設計[D]. 戴華.復旦大學 2013
[9]基于資源狀況的流媒體傳輸網絡負載均衡算法研究[D]. 李師堯.東北大學 2012
本文編號:2995739
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/2995739.html
最近更新
教材專著