<samp id="tdkee"></samp>

    <mark id="tdkee"><acronym id="tdkee"></acronym></mark>

  1. 免费看又黄又无码的网站_久久久高清国产免费观看_亚洲一区二区三区在线免费观看_免费欧洲美女a视频一级毛片_日本最新免费二区三区

    ×

    程序員如何應(yīng)對秒殺場景?

    分類:云服務(wù)資訊 編輯:聊聊云計(jì)算 瀏覽量:265
    2021-01-19 16:51:32
    凡是做過電商的同學(xué),都會遇到運(yùn)營展開的秒殺,限時(shí)購等“高并發(fā)”的活動。
    秒殺從規(guī)模上來說可以分為大秒和小秒。大秒指的是比如雙11這種特定的節(jié)日,商品規(guī)模超大、價(jià)格超低、流量超大的這種類型活動,小秒一般指的是商家自己配置的一些時(shí)段類型的活動,由商家自己指定時(shí)間上架。從形式來說還可以分為單時(shí)段秒殺和多時(shí)段秒殺。但是在這個(gè)場景里,我們一般就是指的單時(shí)段大型秒殺。
    秒殺這種業(yè)務(wù)場景其實(shí)特點(diǎn)很明顯:
    1、帶有短期流量峰值特性,即:短時(shí)間內(nèi)會有大量的請求涌入;
    2、請求的數(shù)據(jù)帶有熱點(diǎn)性,即:大量的請求同一數(shù)據(jù);
    3、請求的成功有效率低,即:大量的請求中可能只有少量請求會成功處理業(yè)務(wù);
    4、請求的流量峰值發(fā)生在下單之前,即:付款階段很少存在流量峰值。
    一、秒殺的技術(shù)挑戰(zhàn)
    1、對現(xiàn)有網(wǎng)站業(yè)務(wù)造成沖擊:秒殺活動只是網(wǎng)站營銷的一個(gè)附加活動,這個(gè)活動具有時(shí)間短,并發(fā)訪問量大的特點(diǎn),如果和網(wǎng)站原有應(yīng)用部署在一起,必然會對現(xiàn)有業(yè)務(wù)造成沖擊,稍有不慎可能導(dǎo)致整個(gè)網(wǎng)站癱瘓;
    2、高并發(fā)下的應(yīng)用、數(shù)據(jù)庫負(fù)載:用戶在秒殺活動開始之前,通過不停的刷新瀏覽器頁面以保證不錯(cuò)過秒殺,這些請求如果按照一般網(wǎng)站的應(yīng)用架構(gòu),訪問應(yīng)用服務(wù)器,連接數(shù)據(jù)庫,會對應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器造成極大的負(fù)載壓力;
    3、突然增加的網(wǎng)絡(luò)及服務(wù)器帶寬:因?yàn)樵L問秒殺頁面的用戶劇增,對資源的請求量也是劇增,網(wǎng)絡(luò)帶寬也上去了,超過平時(shí)網(wǎng)站使用的帶寬;
    4、直接下單:秒殺的規(guī)則是到了秒殺秒殺時(shí)間才能開始對商品下單購買,在此時(shí)間點(diǎn)之前,只能瀏覽商品信息,不能下單。而下單頁面也是一個(gè)普通的URL,如果得到了這個(gè)URL,不用等到秒殺開始就可以下單了。
    二、秒殺系統(tǒng)的應(yīng)對策略
    1、技術(shù)第一招:限流
    對于秒殺出現(xiàn)的流量峰值,限流是最直接的削峰手段,被限制的請求可以直接返回,客戶端提示請求中提示??上攵?dāng)10000/S的請求量被削成100/S的量,估計(jì)系統(tǒng)稍微優(yōu)化一下就能抗住。
    2、第二招:消息隊(duì)列
    說到消息隊(duì)列,每個(gè)程序員都不陌生,它相當(dāng)于一個(gè)快速的數(shù)據(jù)容器,可以作為一個(gè)緩沖層來應(yīng)對流量高峰。如果從它的使用場景上來看,它可以算是低速設(shè)備和高速設(shè)備之間的平衡者,使用消息隊(duì)列來進(jìn)行削峰是一個(gè)很明顯的異步流程。應(yīng)用到秒殺的場景下,大量的請求會先進(jìn)入消息隊(duì)列,它不僅削平了流量的峰值,而且把秒殺下單的這個(gè)流程異步化,只要把請求都暫存入隊(duì)列,消費(fèi)端慢慢消費(fèi)即可,但是這里要注意,如果消費(fèi)的速度遠(yuǎn)遠(yuǎn)慢于消息的投遞速度,可能會影響整個(gè)系統(tǒng)性能。
    除了削峰之外,我始終認(rèn)為消息隊(duì)列的最大作用是系統(tǒng)解耦,它把下單和支付解耦,下單和支付業(yè)務(wù)可以隨著自身系統(tǒng)的承載量來單獨(dú)擴(kuò)容。
    3、第三招:緩存
    為什么要加入緩存這個(gè)選項(xiàng)呢?別忘了,除了大量的用戶下單這個(gè)寫操作之外,還有更大量的用戶請求下單結(jié)果這個(gè)讀操作。當(dāng)用戶點(diǎn)擊秒殺按鈕之后,系統(tǒng)會彈出等待的提示框,很多系統(tǒng)是不停的去輪訓(xùn)用戶的下單結(jié)果,我之前也寫過緩存的文章,曾經(jīng)提到過緩存最大的作用是提供讀操作的快速響應(yīng)。其實(shí)很多系統(tǒng)應(yīng)用上消息隊(duì)列+限流之后,針對秒殺業(yè)務(wù)已經(jīng)足夠了,其余的分庫分表等方案可以根據(jù)自己的業(yè)務(wù)量來確定。每個(gè)系統(tǒng)在滿足功能性的需求下,也在滿足非功能性需求的前提下越簡單越好,不是每個(gè)系統(tǒng)都需要淘寶的架構(gòu)。
    新網(wǎng)消息隊(duì)列RabbitMQ是一款支持持久化消息隊(duì)列的消息中間件。通過創(chuàng)建集群的方式來實(shí)現(xiàn)RabbitMQ以及所依賴的服務(wù)的部署,完全兼容RabbitMQ開源生態(tài)以及多語言客戶端,為用戶提供快速創(chuàng)建、方便管理的消息中間件。
    新網(wǎng)消息隊(duì)列RabbitMQ支持多種模式,滿足不同使用場景,包括簡單隊(duì)列模式、work模式、發(fā)布/訂閱模式、路由模式、topic模式等,提供CPU使用率、內(nèi)存使用率、磁盤使用率、文件句柄使用數(shù)、Sockets句柄使用數(shù)等監(jiān)控項(xiàng),支持設(shè)置多項(xiàng)報(bào)警策略,幫助用戶了解實(shí)例動態(tài):http://www.xinnet.com/cs/rabbitmq.html


    聲明:免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)

    送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)

    需注明出處:新網(wǎng)idc知識百科

    免費(fèi)咨詢獲取折扣

    Loading
    国产精品视频白浆免费视频_久久久高清国产免费观看_亚洲一区二区三区在线免费观看_免费欧洲美女a视频一级毛片

    <samp id="tdkee"></samp>

      <mark id="tdkee"><acronym id="tdkee"></acronym></mark>