基于SOA的高并發(fā)B2B2C電商平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
發(fā)布時(shí)間:2020-08-02 21:22
【摘要】:電子商務(wù)(Electronic Commerce)是傳統(tǒng)商業(yè)和互聯(lián)網(wǎng)相結(jié)合的產(chǎn)物,它打破了傳統(tǒng)的商業(yè)模式,創(chuàng)造了新的商業(yè)理念,利用信息科技將傳統(tǒng)商業(yè)行為電子化、信息化。本文源自筆者實(shí)習(xí)期間參與的電商項(xiàng)目,該項(xiàng)目針對(duì)中小型企業(yè)的剛性需求,以電商平臺(tái)為研究對(duì)象,結(jié)合中小型企業(yè)的實(shí)際需求設(shè)計(jì)并實(shí)現(xiàn)了一款基于SOA(面向服務(wù)架構(gòu))的高并發(fā)B2B2C(運(yùn)營商-商家-用戶)電商平臺(tái)。首先,本文對(duì)論文研究背景與意義、全球及國內(nèi)發(fā)展現(xiàn)狀和特點(diǎn)、論文研究?jī)?nèi)容與主要?jiǎng)?chuàng)新點(diǎn)、論文組織結(jié)構(gòu)進(jìn)行了介紹,并闡述了開發(fā)過程中使用到的相關(guān)技術(shù)。其次,對(duì)該電商平臺(tái)進(jìn)行了系統(tǒng)分析和系統(tǒng)概要設(shè)計(jì),系統(tǒng)分析包括系統(tǒng)可行性分析、系統(tǒng)用例分析、系統(tǒng)功能性需求分析和系統(tǒng)非功能性需求分析,系統(tǒng)概要設(shè)計(jì)包括系統(tǒng)架構(gòu)設(shè)計(jì)和系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)。其中,系統(tǒng)可行性分析包括技術(shù)、經(jīng)濟(jì)、社會(huì)三方面的可行性。系統(tǒng)用例分析是對(duì)運(yùn)營商、商家和用戶三方進(jìn)行用例分析。系統(tǒng)功能性需求分析是對(duì)運(yùn)營商、商家和用戶三方進(jìn)行功能分析。系統(tǒng)非功能性需求分析提出了系統(tǒng)高并發(fā)和安全性兩項(xiàng)非功能性需求。系統(tǒng)架構(gòu)設(shè)計(jì)中針對(duì)該電商平臺(tái)的高并發(fā)需求,提出并設(shè)計(jì)了一款支持高并發(fā)訪問的分布式電商平臺(tái)架構(gòu)。系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)對(duì)數(shù)據(jù)庫設(shè)計(jì)原則和數(shù)據(jù)庫的概念、物理結(jié)構(gòu)進(jìn)行了說明。再次,在系統(tǒng)分析和系統(tǒng)概要設(shè)計(jì)的基礎(chǔ)上,通過流程圖、類圖和時(shí)序圖等方式對(duì)該電商平臺(tái)各功能模塊進(jìn)行了詳細(xì)設(shè)計(jì)與實(shí)現(xiàn),包括運(yùn)營商后臺(tái)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)、商家后臺(tái)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)、前臺(tái)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)、系統(tǒng)集群詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)。在系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)過程中,不僅完成了該電商平臺(tái)的各項(xiàng)功能性需求,同時(shí)還完成了非功能性需求。為提高該電商平臺(tái)并發(fā)量,一方面在該電商平臺(tái)的多個(gè)功能模塊中使用Redis緩存代替MySQL存儲(chǔ)和查詢數(shù)據(jù),另一方面在不適用Redis緩存的功能模塊中使用Solr、FreeMarker等技術(shù)取代對(duì)MySQL的訪問。為防止并發(fā)請(qǐng)求過于巨大時(shí)服務(wù)器出現(xiàn)宕機(jī),通過搭建ZooKeeper集群、MySQL集群、Redis集群、Solr集群等方式將服務(wù)部署到多個(gè)服務(wù)器共同分擔(dān)客戶端請(qǐng)求。最后,針對(duì)該平臺(tái)功能和非功能,對(duì)該電商平臺(tái)進(jìn)行了系統(tǒng)測(cè)試。功能測(cè)試包括運(yùn)營商后臺(tái)功能測(cè)試、商家后臺(tái)功能測(cè)試和前臺(tái)功能測(cè)試。非功能測(cè)試對(duì)系統(tǒng)高并發(fā)性能進(jìn)行了測(cè)試。系統(tǒng)功能和非功能測(cè)試結(jié)果表明該電商平臺(tái)已經(jīng)達(dá)到預(yù)期的功能性要求和非功能性要求。
【學(xué)位授予單位】:蘭州大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2019
【分類號(hào)】:TP311.52
【圖文】:
圖 2-1 Java 程序的運(yùn)行機(jī)制圖根據(jù)以上的特性,Java 語言在開發(fā)電商平臺(tái)中有如下的優(yōu)勢(shì)[7]:1、Java 語言本身提供大量?jī)?nèi)置的類庫,這樣就減輕了開發(fā)人員的工作量,并且縮短了項(xiàng)目開發(fā)時(shí)間。2、Java 語言容易學(xué)習(xí),并且開發(fā)人員的數(shù)量龐大,開源社區(qū)眾多,擁有成熟穩(wěn)定的開源框架和設(shè)計(jì)模式的支持。3、Java 具有可跨平臺(tái)的特性,通過編譯和解釋能夠在 Windows,Linux,Solaris 等不同的操作系統(tǒng)上運(yùn)行[8]。4、作為網(wǎng)絡(luò)語言,安全是非常重要的,Java 語言具有非常高的可靠性和安全性,Java語言是靠?jī)蓚(gè)方面保證它的安全性,首先,在 Java 語言設(shè)計(jì)中,像指針和釋放內(nèi)存等功能被摒棄,這樣做的好處是可以避免非法的內(nèi)存操作,其次,當(dāng) Java在創(chuàng)建瀏覽器時(shí),瀏覽器本身提供的功能和語言功能相結(jié)合,使它更安全。2.2 SOA 架構(gòu)和 DubboxSOA 是英文 Service-Oriented Architecture(面向服務(wù)的架構(gòu))的首字母縮寫,
州大學(xué)碩士學(xué)位論文 基于 SOA 的高并發(fā) B2B2C 電商平臺(tái)設(shè)計(jì)與實(shí)ox 進(jìn)行服務(wù)治理和資源調(diào)度。Dubbox 原名是 Dubbo,Dubbox 是阿維護(hù)的開源項(xiàng)目,當(dāng)當(dāng)網(wǎng)在 Dubbo 的基礎(chǔ)上進(jìn)行升級(jí)和維護(hù)并將其 Dubbox,Dubbox 目的是為應(yīng)用提供可靠的遠(yuǎn)程服務(wù)調(diào)用和 SOA 服務(wù)ox 架構(gòu)圖 2-2 所示。
蘭州大學(xué)碩士學(xué)位論文 基于 SOA 的高并發(fā) B2B2C 電商平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)SSM 是 Spring、SpringMVC、MyBatis 三個(gè)框架的英文首字母縮寫,下面分別對(duì)三個(gè)框架進(jìn)行介紹。(1)Spring:Spring是一款優(yōu)秀的Java開源框架[18],Spring使用基本的JavaBean來完成以前只可能由 EJB 完成的事,Spring 的目的是簡(jiǎn)化復(fù)雜的企業(yè)開發(fā),提高開發(fā)效率[19],它為開發(fā)者提供基礎(chǔ)架構(gòu),開發(fā)者不用再花時(shí)間編寫底層代碼,而只需專注實(shí)現(xiàn)應(yīng)用邏輯功能。Spring 也輕量級(jí)的,非入侵式的,并且可移植性好,能快捷方便的集成其他框架[20]。Spring 有兩個(gè)核心概念,分別是控制反轉(zhuǎn)(IOC)和面向切面編程(AOP)。控制反轉(zhuǎn)就是把對(duì)象的創(chuàng)建權(quán)交給 Spring,這樣能夠降低程序的耦合性,開發(fā)者只需在使用對(duì)象前注入對(duì)象即可。面向切面編程是對(duì)面向?qū)ο缶幊蹋∣OP)的補(bǔ)充,面向切面編程將權(quán)限管理、事務(wù)管理等系統(tǒng)性編程工作從業(yè)務(wù)邏輯中提取出來,這樣可以有效防止系統(tǒng)性編程和業(yè)務(wù)邏輯代碼混淆,并且能增強(qiáng)權(quán)限管理、事務(wù)管理的復(fù)用性。Spring 由 7 個(gè)不同的模塊組成,Spring 基本架構(gòu)圖如圖 2-3 所示[21]。
本文編號(hào):2779084
【學(xué)位授予單位】:蘭州大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2019
【分類號(hào)】:TP311.52
【圖文】:
圖 2-1 Java 程序的運(yùn)行機(jī)制圖根據(jù)以上的特性,Java 語言在開發(fā)電商平臺(tái)中有如下的優(yōu)勢(shì)[7]:1、Java 語言本身提供大量?jī)?nèi)置的類庫,這樣就減輕了開發(fā)人員的工作量,并且縮短了項(xiàng)目開發(fā)時(shí)間。2、Java 語言容易學(xué)習(xí),并且開發(fā)人員的數(shù)量龐大,開源社區(qū)眾多,擁有成熟穩(wěn)定的開源框架和設(shè)計(jì)模式的支持。3、Java 具有可跨平臺(tái)的特性,通過編譯和解釋能夠在 Windows,Linux,Solaris 等不同的操作系統(tǒng)上運(yùn)行[8]。4、作為網(wǎng)絡(luò)語言,安全是非常重要的,Java 語言具有非常高的可靠性和安全性,Java語言是靠?jī)蓚(gè)方面保證它的安全性,首先,在 Java 語言設(shè)計(jì)中,像指針和釋放內(nèi)存等功能被摒棄,這樣做的好處是可以避免非法的內(nèi)存操作,其次,當(dāng) Java在創(chuàng)建瀏覽器時(shí),瀏覽器本身提供的功能和語言功能相結(jié)合,使它更安全。2.2 SOA 架構(gòu)和 DubboxSOA 是英文 Service-Oriented Architecture(面向服務(wù)的架構(gòu))的首字母縮寫,
州大學(xué)碩士學(xué)位論文 基于 SOA 的高并發(fā) B2B2C 電商平臺(tái)設(shè)計(jì)與實(shí)ox 進(jìn)行服務(wù)治理和資源調(diào)度。Dubbox 原名是 Dubbo,Dubbox 是阿維護(hù)的開源項(xiàng)目,當(dāng)當(dāng)網(wǎng)在 Dubbo 的基礎(chǔ)上進(jìn)行升級(jí)和維護(hù)并將其 Dubbox,Dubbox 目的是為應(yīng)用提供可靠的遠(yuǎn)程服務(wù)調(diào)用和 SOA 服務(wù)ox 架構(gòu)圖 2-2 所示。
蘭州大學(xué)碩士學(xué)位論文 基于 SOA 的高并發(fā) B2B2C 電商平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)SSM 是 Spring、SpringMVC、MyBatis 三個(gè)框架的英文首字母縮寫,下面分別對(duì)三個(gè)框架進(jìn)行介紹。(1)Spring:Spring是一款優(yōu)秀的Java開源框架[18],Spring使用基本的JavaBean來完成以前只可能由 EJB 完成的事,Spring 的目的是簡(jiǎn)化復(fù)雜的企業(yè)開發(fā),提高開發(fā)效率[19],它為開發(fā)者提供基礎(chǔ)架構(gòu),開發(fā)者不用再花時(shí)間編寫底層代碼,而只需專注實(shí)現(xiàn)應(yīng)用邏輯功能。Spring 也輕量級(jí)的,非入侵式的,并且可移植性好,能快捷方便的集成其他框架[20]。Spring 有兩個(gè)核心概念,分別是控制反轉(zhuǎn)(IOC)和面向切面編程(AOP)。控制反轉(zhuǎn)就是把對(duì)象的創(chuàng)建權(quán)交給 Spring,這樣能夠降低程序的耦合性,開發(fā)者只需在使用對(duì)象前注入對(duì)象即可。面向切面編程是對(duì)面向?qū)ο缶幊蹋∣OP)的補(bǔ)充,面向切面編程將權(quán)限管理、事務(wù)管理等系統(tǒng)性編程工作從業(yè)務(wù)邏輯中提取出來,這樣可以有效防止系統(tǒng)性編程和業(yè)務(wù)邏輯代碼混淆,并且能增強(qiáng)權(quán)限管理、事務(wù)管理的復(fù)用性。Spring 由 7 個(gè)不同的模塊組成,Spring 基本架構(gòu)圖如圖 2-3 所示[21]。
【參考文獻(xiàn)】
相關(guān)期刊論文 前1條
1 榮艷冬;;關(guān)于Mybatis持久層框架的應(yīng)用研究[J];信息安全與技術(shù);2015年12期
本文編號(hào):2779084
本文鏈接:http://sikaile.net/wenyilunwen/guanggaoshejilunwen/2779084.html
最近更新
教材專著