999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于微服務架構的商對客模式電商網站的設計與實現

2021-09-13 14:32:30張林
軟件工程 2021年9期

張林

摘? 要:基于微服務框架搭建的“商對客”商業模式(B2C商業模式)的商城平臺,對商城平臺前后端進行分離,前端使用vue.js(視圖層開發框架)進行頁面渲染,后端采用微服務框架SpringCloud;每個微服務單體模塊使用SpringBoot框架進行開發,微服務單體模塊之間使用消息隊列RabbitMq進行通信,使用Redis技術進行緩存。該設計實現了高可用、高并發和可擴展的全品類商對客模式電商網站,使客戶與商家交易效率提高,給客戶帶來了良好的購物體驗。

關鍵詞:微服務架構;“商對客”商業模式;SpringCloud

中圖分類號:TP311? ? ?文獻標識碼:A

文章編號:2096-1472(2021)-09-55-03

Abstract: This paper is based on a mall platform of the business-to-customer business model (B2C business model) built on the microservices framework, separating front and back ends of the mall platform. vue.js (view layer development framework) is used in the front end for page rendering, and SpringCloud, a microservice framework, is used in the back end. Each microservice monomer module is developed by using SpringBoot framework, the message queue RabbitMq is used for communication between the microservice monomer modules, and Redis technology is used for caching. The design achieves a high-availability, high-concurrency and extensible business-to-customer e-mall website of full-category goods, improving the efficiency of customer-business transactions and bringing customers a good shopping experience.

Keywords: microservice architecture; business-to-customer business model; SpringCloud

1? ?引言(Introduction)

隨著科學技術的日益進步,電子商務成為社會活動的重要部分,用戶實現了在家一鍵下單,購買支付,一鍵退款,方便了人們的生活。以往的單體應用架構根本支撐不住如此強大的購物熱潮,在客流量增大的情況下,服務器常常因為無法承受高并發量而造成宕機的問題,使用戶體驗感差。而后發展的分布式架構和SOA(粗粒度服務)架構擴展性差,耦合性高,也不滿足此系統的需求。基于此,本文開發的系統商城平臺采用微服務架構,按照業務被拆分為多個微服務,以松耦合的方式被獨立部署[1],使用Spring(SpringCloud+SpringBoot)框架進行開發,Nginx(輕量級web服務器)作為反向代理,Redis(內存數據庫)作為緩存,MySQL(關系型數據庫)作為后臺數據庫;使用RabbitMq(消息隊列)方式提高了全品類網站平臺的響應速度,實現了商品顯示、商品搜索、加入購物車、下單購買等功能。

2? ?技術方案(Technical solutions)

2.1? ?微服務架構

2.1.1? ?微服務

微服務是面向服務軟件開發的最新發展趨勢,其通常采用去中心化的服務管理方式[2]。它的核心思想是根據業務需求,將業務拆分為一個一個的服務,實現去耦合,每個服務都對應唯一的業務,做到一個服務只做一件事,服務單一職責化,能夠被獨立部署到生產環境。服務內部通過RPC或消息驅動API通信,對外通過RESTful API輕量交互信息[3]。微服務架構是粗粒度SOA架構的升華,其強調業務和功能徹底組件化和服務化。

微服務的優點:

(1)服務獨立,一個服務只干一件事,獨立部署;

(2)開發簡單,效率提高,團隊之間工作互不干擾;

(3)微服務是松耦合的;

(4)易于和第三方集成。

微服務的缺點:

(1)開發和運營人員要處理分布式系統的復雜性;

(2)運維成本提高;

(3)數據一致性存在問題;

(4)服務間通信成本增大。

2.1.2? ?SpringCloud框架簡介

SpringCloud是一套基于SpringBoot構建的通用工具集[4],它是一系列框架的有序集合,這些框架致力于分布式服務治理;它本身不會提供具體功能的操作,主要專注于服務之間的通信、熔斷、監控;它有很多組件來支持一套功能[5]。

2.2? “商對客”商業模式

“商對客”(即B2C)模式是企業對消費者的電子商務模式,企業建立自己的網站,在線上通過互聯網銷售自己的產品,宣傳自己的品牌,進行網絡推廣和網絡營銷,使線上的交易配合線下的銷售和宣傳,提升了企業的服務質量,更好地增強了用戶的黏性。B2C是一種綜合性商城,不僅是一種百貨商店,還是多種服務商店;不僅具有較大的購物群體,也實現了穩定的網絡平臺,在支付網絡以及安全體系創建方式上都實現了完整的建設系統,為企業發展和人們消費提供了較大方便[6]。

2.3? ?Redis

Redis是基于鍵值對存儲結構的系統,類屬于NoSQL[7]。Redis讀寫數據的時候不會受到硬盤I/O速度的限制,讀取速度非常快[8]。Redis中的Value支持五種數據類型:字符串、字符串列表、字符串集合、有序字符串集合、哈希。Redis支持數據備份到磁盤上,且操作具有原子性。

3 系統設計與實現(System design and implementation)

3.1? ?整體架構

靈耀商城平臺是一個全品類的網站平臺,在MVC架構的基礎上,根據具體功能和實際業務需求融入微服務架構。每個微服務模塊按照業務功能進行拆分,每個微服務的功能職責單一,除通用模塊Common外,其余模塊相互獨立,沒有功能性依賴,其他模塊如要使用則直接調用對外提供的API訪問接口。根據業務需求,將商城平臺的前后端進行分離開發,并將整個系統按照業務功能劃分為多個子系統,每個子系統仍然遵循MVC三層架構設計,分為界面層Controller、業務邏輯層Service和數據訪問層Dao,接口遵循RESTful架構風格對外提供服務。

系統為了防止網關故障從而導致整個系統無法響應的問題,設計了兩個網關,其中一個作為備用網關。系統前端使用域名訪問,此項目域名使用SwitHosts本地域名解析的方式,端口解析使用Nginx反向代理的方式,提高了網關的高可用性,網關與服務之間還配置了負載均衡和服務容錯。為了實現微服務之間的數據同步,使用RabbitMq消息隊列實現消息的異步發送接收。

在系統架構中,所有微服務在Eureka上進行注冊,整個服務端采用API網關負載均衡、服務路由、請求過濾等功能,運用Zuul組件進行服務路由。為了實現每個服務的獨立性,降低系統耦合,對外只提供API接口,http遠程調用組件Feign Client。

在此系統中,包括商家運營人員使用的后臺管理系統和用戶使用的前端門戶系統。總體框架圖如圖1所示。

3.2? ?靈耀商城功能設計

通過需求分析以及微服務架構設計思想,系統按照功能需求分為七個獨立的微服務模塊,如圖2所示。

3.3? ?運營人員后臺管理系統

運營管理人員登錄系統可以實現商品管理、人員管理、銷售管理以及權限管理。在商品管理中,通過搭建商品微服務實現分類管理、品牌管理、商品列表及規格參數管理。在配置文件中使用Eureka訂閱商品服務,每5 s就發送一次心跳,超時就過期,相關配置如圖3所示,而后編寫相應的代碼進行CRUD處理,前端頁面進行渲染。

3.4? ?前臺門戶網站

3.4.1? ?搜索

搭建搜索微服務模塊,實現用戶搜索某個商品。通過使用注解@EnableFeignClients開啟feign組件,定期在Eureka的注冊中心拉取搜索服務,在resources的配置文件中也需要配置相應的Eureka客戶端服務,用于向Eureka訂閱相關服務。由于復雜的業務和海量數據以及高并發需求,為了提高搜索速度,搜索功能使用Elasticsearch全文檢索技術,實現實時搜索以及分詞搜索并支持多用戶,例如搜索手機,查詢后前端頁面進行渲染如圖4所示。

3.4.2? ?購物車

搭建購物車微服務。如果用戶還未登錄,用戶瀏覽商品添加購物車時,添加到本地瀏覽器的Localstorage中,支付時跳轉到登錄頁面;如果用戶已經登錄,用戶在選擇到自己心儀的產品時想加入購物車,則在添加商品時會添加到Redis中,并且查看購物車時,會先查看本地瀏覽器中是否有數據,若沒有數據就直接調用Redis中的數據;若有數據則將二者數據合并,最后更新到數據層MySQL數據庫中。購物車可以添加多個數量,如果不滿意可以刪除訂單或者移到“我的關注”中。用戶選擇好之后,系統會自動計算好選擇商品的總金額,用于用戶進行結算下單,如圖5所示。

3.4.3? ?用戶注冊登錄

搭建用戶注冊微服務,實現用戶注冊。用戶注冊采用短信驗證碼的方式,通過用戶名、密碼、確認密碼、手機號以及短信驗證碼的方式進行注冊,添加信息到數據庫中。為了防止密碼泄露,使用非對稱加密的方式對密碼進行加密保存到數據庫中。

搭建登錄認證微服務,實現用戶登錄。根據注冊的用戶名和密碼進行登錄,前端獲取用戶名和密碼,后端根據用戶名查詢到相對應的用戶id,使用相同的鹽進行加密并與數據庫中密碼項進行比較,若相同,則登錄成功。

3.5? ?數據庫設計

根據業務需求進行數據庫設計。(1)用戶注冊相關信息,便可添加用戶信息到用戶表中,登錄時查詢用戶表是否有響應的數據信息;(2)用戶登錄網站,瀏覽和查詢商品,商品的顯示按照不同通用規格參數和特有規格參數進行劃分;(3)用戶添加購物車,若登錄,便可添加至購物車信息表中,進行下單便可在訂單信息表中添加訂單信息,在訂單頁面進行查看。詳細E-R圖如圖6所示。

4? ?結論(Conclusion)

本文主要實現了基于微服務架構的一個B2C商業模式的靈耀商城的開發,滿足了系統高并發、高可用、可擴展的需求,以及大規模用戶網上購物下單的基本功能需求。此前,系統的基本功能已開發完成,在進一步調試改進中。

參考文獻(References)

[1] 馮志勇,徐硯偉,薛霄,等.微服務技術發展的現狀與展望[J].計算機研究與發展,2020,57(5):1103-1122.

[2] 吳化堯,鄧文俊.面向微服務軟件開發方法研究進展[J].計算機研究與發展,2020,57(3):525-541.

[3] 黃顯琛.基于微服務架構的系統設計與實現[J].信息技術與信息化,2020,11(3):16-17.

[4] 劉斌.基于SpringCloud的電信綜合服務保障系統微服務改造之路[J].中小企業管理與科技,2019(11):90-91.

[5] 周永圣,候峰裕,孫雯,等.基于SpringCloud微服務架構的進銷存管理系統的設計與實現[J].工業控制計算機,2018,31(11):129-130,133.

[6] 謝孝淼.基于JAVA技術的B2C電子商城網站系統設計與實現[J].信息通信,2016(02)102-103.

[7] 秦溧,艾青.基于Redis技術的頁面緩存研究[J].科技風,2021(12):74-76.

[8] 張斌,任富彬,沈煒.基于SpringCloud的食品安全溯源系統的設計與實現[J].軟件工程,2019,22(8):27-30.

作者簡介:

張? 林(1996-),女,碩士,工程師.研究領域:分布式軟件系統開發.

主站蜘蛛池模板: 久久精品国产一区二区小说| 97综合久久| 五月激情综合网| 日韩黄色精品| 中国丰满人妻无码束缚啪啪| 毛片免费高清免费| 欧美黑人欧美精品刺激| 欧美a在线看| 欧美视频二区| 久久天天躁狠狠躁夜夜2020一| 无码免费的亚洲视频| 久久久91人妻无码精品蜜桃HD| 久久黄色免费电影| 伊人久久久久久久| 成人综合久久综合| 无码啪啪精品天堂浪潮av| 亚洲日韩国产精品无码专区| 久久semm亚洲国产| 国产99精品视频| 久久国产黑丝袜视频| 亚洲午夜综合网| 日韩乱码免费一区二区三区| 天天综合网色| 国产精品自拍露脸视频| 色综合色国产热无码一| 日本手机在线视频| 亚洲人成网址| 色播五月婷婷| 亚洲AⅤ无码日韩AV无码网站| 在线无码九区| 四虎永久在线精品影院| 亚洲免费成人网| 波多野结衣无码视频在线观看| 韩日免费小视频| 无码一区18禁| 国产啪在线| av在线5g无码天天| 色呦呦手机在线精品| 国产精品夜夜嗨视频免费视频 | 一级看片免费视频| 香蕉蕉亚亚洲aav综合| 亚洲大尺码专区影院| 秋霞国产在线| 国产精品刺激对白在线| a级毛片网| 无码久看视频| 青草娱乐极品免费视频| 成人福利一区二区视频在线| 国产精品毛片一区视频播| 精品成人一区二区三区电影| 国产精品永久免费嫩草研究院| 亚洲成网站| 国产激情在线视频| 99er这里只有精品| 九月婷婷亚洲综合在线| 国产高清无码麻豆精品| 亚洲综合在线最大成人| 欧美综合中文字幕久久| 亚洲人成网站在线观看播放不卡| 狠狠操夜夜爽| 99九九成人免费视频精品| 又粗又大又爽又紧免费视频| 国产爽妇精品| 国产精品嫩草影院视频| 午夜在线不卡| 九九热精品视频在线| 91网址在线播放| 99久久精品国产自免费| 国产成人1024精品下载| 亚洲视频二| 青青草原国产av福利网站| www亚洲精品| 国产丝袜丝视频在线观看| 日韩激情成人| 亚洲天堂网2014| 视频国产精品丝袜第一页| 国产91丝袜| 婷婷中文在线| 国产精品无码在线看| 国产在线91在线电影| 9久久伊人精品综合| 亚洲日韩日本中文在线|