亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Redis的高并發(fā)秒殺系統(tǒng)的研究與實現(xiàn)

        2022-02-15 02:48:18孫景玉高婷玉秦雯波陳虹云
        信息記錄材料 2022年12期
        關(guān)鍵詞:秒殺線程管理員

        孫景玉,孫 浩,高婷玉,秦雯波,陳虹云

        (南通理工學院 江蘇 南通 226000)

        0 引言

        隨著電子商務(wù)的普及,人們的購物方式、消費方式和生活方式發(fā)生了翻天覆地的改變,手機或是電腦可以隨時隨地使用互聯(lián)網(wǎng),電子商務(wù)交易量也因此翻了幾倍。而電商平臺通過跨地域的低價銷售模式,在交易的過程中提供專業(yè)服務(wù),不僅有效地降低了成本,還吸引了大量的客戶[1]。各大電商平臺所推出的秒殺活動更是以低廉的價格、有限的商品和超短的銷售時間吸引消費者的注意,無形中增加顧客的購買欲望,如廣為熟知的淘寶、京東、拼多多等大型電商平臺,為了提高客戶的體驗,增強平臺的高可用性,吸收新用戶、提高收益率,推出低價的“秒殺”業(yè)務(wù),短時間內(nèi)為電商平臺帶來巨大流量以及消費收益,因此秒殺活動越來越受電商平臺的重視。但是,電商平臺的秒殺系統(tǒng)需要面對短時間內(nèi)激增的流量壓力、網(wǎng)絡(luò)作弊(如秒殺機器人)和線程超賣等問題[2]。對于大型電商企業(yè)而言,由于自身資金雄厚,可以選擇自主研發(fā)文件存儲系統(tǒng)、緩存系統(tǒng)以及負載均衡系統(tǒng),投入大量人力、物力和財力,從軟件、硬件各個方面去解決這些問題。對于中小型電商平臺來說,在面對限時促銷、秒殺等這些高并發(fā)場景的時候,如果不對系統(tǒng)做出性能優(yōu)化處理,那么系統(tǒng)就會輕而易舉地陷入異常狀態(tài),從而造成收益損失[3]。

        由此看來,高效準確地處理高并發(fā)請求,優(yōu)化用戶使用體驗,并且向客戶提供專業(yè)、可靠以及準確的服務(wù),是目前各大電商平臺亟待解決的問題。

        1 高并發(fā)解決技術(shù)方案

        鑒于此,文章從現(xiàn)實需求出發(fā),通過研究秒殺活動的高并發(fā)以及線程超賣等問題,對秒殺進行性能優(yōu)化,設(shè)計出高性能的秒殺系統(tǒng)。文章采用以下關(guān)鍵技術(shù):

        1.1 Redis緩存方案

        為了提高頁面的響應(yīng)速度,以及讓系統(tǒng)能夠適應(yīng)高并發(fā)的場景,需要設(shè)計使用緩存方案。頁面優(yōu)化方面主要使用頁面緩存+URL緩存+對象緩存。開發(fā)的瓶頸在于數(shù)據(jù)庫,需要想辦法減少對數(shù)據(jù)庫的訪問,所以需要使用緩存,通過各種不同粒度的緩存細化方案,提高響應(yīng)速度。此外可以讓頁面靜態(tài)化,將HTML緩存到客戶端。Redis是一個基于內(nèi)存操作、運行速度非常快、讀寫性能極高的非關(guān)系型數(shù)據(jù)庫,可以存儲鍵(key)與多種值(value)之間的映射,支持多種數(shù)據(jù)結(jié)構(gòu)的存儲如list、set、zset、hash等[4]。Redis的強大之處就是它具有極高的讀寫性能,根據(jù)官方資料顯示,讀取的速度可達110 000次/s,寫的速度可達81 000次/s。同時,Redis的所有操作都是原子性的,要么全部執(zhí)行成功,要么失敗回滾[5]。單個操作是原子性的,多個操作也支持事務(wù),并且完全開源免費。

        1.2 消息隊列

        為了解決不同業(yè)務(wù)流程之間的通信,引入了第三方消息中間件,實現(xiàn)系統(tǒng)的異步下單、流量削峰,提高系統(tǒng)響應(yīng)速度和運行效率,進一步提高用戶體驗感。消息中間件是基于隊列與消息傳遞技術(shù),在網(wǎng)絡(luò)環(huán)境中為應(yīng)用系統(tǒng)提供異步、可靠的消息傳輸?shù)闹涡攒浖到y(tǒng)[6]。本系統(tǒng)使用的是RabbitMQ作為第三方消息中間件,整合SpringBoot框架,具有一定的獨立性,RabbitMQ也是市面上比較流行的一款消息中間件,是基于AMQP協(xié)議的開源消息中間件,具有很好的穩(wěn)定性、數(shù)據(jù)一致性以及可靠性,整合SpringBoot框架開發(fā)后,可以非常方便地面向消息中間件進行對應(yīng)的開發(fā)。

        1.3 輕量級開發(fā)框架技術(shù)

        采用當前互聯(lián)網(wǎng)公司常用的前后端分離協(xié)作的開發(fā)方式,結(jié)合主流的SpringBoot、Mybatis、SpringMVC輕量級的膠水框架,實現(xiàn)系統(tǒng)前、后端的分別開發(fā)。針對Spring缺點進行改善和優(yōu)化,遵循約定大于配置的思想,讓開發(fā)者不再需要在業(yè)務(wù)邏輯和配置之間進行思維的切換,可以專心于業(yè)務(wù)邏輯的編寫,從而大大提高開發(fā)的效率[7-8]。

        1.4 加密技術(shù)

        用戶以及商家信息數(shù)據(jù)的安全對于電商系統(tǒng)來說是個極其重要的問題。如果系統(tǒng)安全問題不能保證,就會給用戶以及商家?guī)聿槐匾膿p失,通過隱藏秒殺接口地址,秒殺接口防刷限流等一系列操作來對系統(tǒng)進行安全優(yōu)化,防止非法用戶闖入以及非法請求破壞系統(tǒng),造成不可挽回的損失。同時使用MD5進行二次加密,第一次加密用戶密碼,第二次采用密碼“加鹽”,也就是在加密完密碼之后,在密碼的不同位置插入不同的值,再進行一次MD5加密,確保用戶信息安全。

        2 需求分析

        電商秒殺系統(tǒng)包括秒殺商城前臺系統(tǒng)以及電商后臺管理系統(tǒng)。使用角色是參與秒殺活動的用戶以及商城后臺的管理員。對于秒殺商城前臺系統(tǒng),不但要實用、操作簡便,以方便用戶使用,還要可以滿足高并發(fā)場景下的秒殺業(yè)務(wù)需求,防止數(shù)據(jù)庫宕機或者線程超賣,給商家以及平臺帶來損失。而電商后臺管理系統(tǒng),是針對商城管理人員所設(shè)計的,主要用于對用戶信息、商品信息、秒殺商品以及訂單信息的管理。通過后臺管理系統(tǒng)可以實現(xiàn)商家對店鋪的管理,直觀地體現(xiàn)出每日訂單量、總銷售量以及用戶量,能夠更好地協(xié)助管理者對商城的管理。

        3 系統(tǒng)設(shè)計

        針對秒殺問題的解決方案,文章設(shè)計并實現(xiàn)一款電商秒殺系統(tǒng)進行驗證。系統(tǒng)分為秒殺前臺系統(tǒng)和管理后臺系統(tǒng)。秒殺前臺系統(tǒng)的主要功能包括登錄、瀏覽商品、查看商品詳細信息(包含秒殺功能)、生成訂單、支付訂單。后臺管理系統(tǒng)的功能包括商品管理、秒殺商品管理、秒殺用戶管理、秒殺訂單管理、管理員管理等。系統(tǒng)功能結(jié)構(gòu)設(shè)計圖如圖1、圖2所示。

        圖1 用戶端功能設(shè)計圖

        圖2 管理端功能設(shè)計圖

        3.1 用戶端功能設(shè)計

        (1)注冊、登錄。通過輸入用戶名(手機號)、密碼,進行登錄。若沒有賬號,則需要到注冊界面輸入手機號碼、密碼以及確認密碼進行注冊,注冊成功后再去登錄。

        (2)商品瀏覽。展示參與秒殺活動的商品信息,包括商品名稱、商品圖片和商品價格、秒殺價格和商品庫存。

        (3)秒殺商品詳情。商品詳情頁面可以展示商品名稱、商品圖片、秒殺開始時間、秒殺狀態(tài)(未開始/進行中/已結(jié)束)、商品原價、秒殺價格、庫存數(shù)量、驗證碼以及秒殺按鈕。秒殺流程圖如圖3所示。

        圖3 秒殺流程圖

        (4)訂單詳情。主要展示訂單的信息,包括商品名稱、商品圖片、訂單原價、下單時間、訂單狀態(tài)、收貨人、收貨地址。

        3.2 管理員端功能設(shè)計

        (1)管理員登錄/退出。

        (2)商品管理。管理員可以對商城的商品進行操作,可以增加商品、修改商品信息、刪除商品、查詢商品。

        (3)用戶管理。管理員可以查看用戶列表,可以查看到用戶的手機號、用戶名、最近一次的登錄時間、登錄次數(shù)以及用戶狀態(tài)。管理員也可以修改用戶的信息、可以根據(jù)用戶的手機號搜索用戶。

        (4)秒殺管理。管理員可以添加參與秒殺活動的商品,或者刪除已經(jīng)秒殺結(jié)束的商品。可以對秒殺商品的信息進行修改,對秒殺商品進行查詢。

        (5)訂單管理。管理員可以對訂單信息、秒殺訂單信息進行修改,也可以根據(jù)手機號查詢用戶的訂單。

        (6)銷售統(tǒng)計。管理員登錄后在控制臺可以查看銷售總額、訂單總數(shù)、用戶數(shù)量。

        4 性能測試

        當軟件開發(fā)到一定程度時,要對其自身性能進行測試,從而有效發(fā)現(xiàn)軟件中存有的缺陷,使軟件產(chǎn)品自身品質(zhì)得到有效提升,并對其功能進行不斷完善[9]。性能測試主要基于靜態(tài)與動態(tài)資源的程序,如靜態(tài)資源文件、Servlet JAVA對象、數(shù)據(jù)庫、FTP服務(wù)器等[10]。文章使用Jmeter工具對電商秒殺系統(tǒng)的秒殺接口進行壓力測試,分別記錄沒做優(yōu)化之前與做了優(yōu)化之后秒殺接口的QPS(吞吐量)。步驟如下:

        (1)生成腳本。編寫JAVA代碼使用JDBC的方式連接數(shù)據(jù)庫,生成對應(yīng)數(shù)據(jù),添加線程組基于對性能測試用例的分析數(shù)據(jù)。

        (2)創(chuàng)建線程組,設(shè)置線程數(shù)。新建一個線程組,設(shè)置線程數(shù)為1 000,循環(huán)次數(shù)10次。

        (3)添加HTTP請求,添加聚合報告。依次選擇添加、取樣器、HTTP請求,并且添加一個聚合報告來查看系統(tǒng)QPS(吞吐量)。

        (4)新建CSV Data,導入腳本。選擇新建CSV Data選項,將錄制好的腳本token.txt導入,點擊開始,完成之后可以查看聚合報告。

        秒殺詳情界面如圖4所示,性能測試得出的聚合報告如圖5、圖6所示。

        圖5 未優(yōu)化前的結(jié)果

        圖6 優(yōu)化后的結(jié)果

        對比兩次壓測結(jié)果可以看出優(yōu)化后吞吐量明顯提升,系統(tǒng)的抗并發(fā)能力明顯提高。

        5 結(jié)語

        文章研究了秒殺活動的高并發(fā)場景特點,提出了基于Redis的緩存方案,對秒殺接口進行優(yōu)化、頁面靜態(tài)化以及簡化數(shù)據(jù)庫設(shè)計,設(shè)計出了高性能的秒殺系統(tǒng)。不僅讓電商系統(tǒng)可以承受住秒殺活動所帶來的高并發(fā)量,同時還能解決線程超賣問題、訪問超時、服務(wù)癱瘓等問題,有效地維護商家利益,進而讓用戶擁有更好的購物體驗。

        猜你喜歡
        秒殺線程管理員
        我是小小午餐管理員
        我是圖書管理員
        少先隊活動(2020年8期)2020-12-18 02:32:07
        我是圖書管理員
        少先隊活動(2020年7期)2020-12-18 01:48:39
        可疑的管理員
        文人吐槽,秒殺段子手
        淺談linux多線程協(xié)作
        秒殺
        秒殺一切的街頭爆笑圖
        Linux線程實現(xiàn)技術(shù)研究
        么移動中間件線程池并發(fā)機制優(yōu)化改進
        中文无码免费在线| 朝鲜女人大白屁股ass| 男女啪啪视频高清视频| 亚洲高清乱码午夜电影网| 久无码久无码av无码| 中文字幕亚洲人妻系列| 日本少妇又色又紧又爽又刺激| 7194中文乱码一二三四芒果| 边啃奶头边躁狠狠躁| 国产成人一区二区三中文| 日韩成精品视频在线观看| 极品一区二区在线视频观看| 日韩人妻无码精品久久免费一| 国产白丝在线| 日韩精品高清不卡一区二区三区 | 激情综合色综合啪啪开心| 国产精选污视频在线观看| 日韩丝袜亚洲国产欧美一区| 久久久亚洲一区二区三区| 狠狠躁天天躁无码中文字幕图| 亚洲av永久无码精品国产精品| 国产自产c区| 久久精品国产黄片一区| 久久精品国产亚洲av麻豆图片| 最新四色米奇影视777在线看| 日本一区二区三区在线| 亚洲av高清天堂网站在线观看| 亚洲精品美女久久久久久久| 国产香蕉尹人综合在线观| 美女草逼视频免费播放| 国产精品高清网站| 国内老熟妇对白xxxxhd| 无码专区无码专区视频网址| 国产精品性色av麻豆| 亚洲熟妇久久国产精品| 手机看片福利盒子久久青| 一区二区三区夜夜久久| 国产猛男猛女超爽免费视频| 国产极品久久久久极品| 开心激情站开心激情网六月婷婷| 就爱射视频在线视频在线|