說秒殺系統(tǒng)其實更多的高級一點的知識,不會太多的在業(yè)務(wù)上說明秒殺,那樣確實太浪費時間,主要核心的點,如何處理高并發(fā)系統(tǒng)調(diào)優(yōu),壓測。發(fā)現(xiàn)性能的瓶頸更好的調(diào)優(yōu)。還會說說高階的優(yōu)化。主要分享給大家針對互聯(lián)網(wǎng)分布式的高并發(fā)項目怎么去調(diào)優(yōu),快速定位,快速解決。主要說思路,明白了思路,如何去快速定位,快速解決。常用的調(diào)優(yōu)方案。

秒殺系統(tǒng)介紹
其實大家都經(jīng)常在網(wǎng)上購物的,秒殺應(yīng)該都知道套路吧。
- 所謂“秒殺”,就是網(wǎng)絡(luò)賣家發(fā)布一些超低價格的商品,所有買家在同一時間網(wǎng)上搶購的一種銷售方式。
- 特點-低價,少量庫存,瘋搶。
吸引大家來搶購,也不至于自己虧的太多。博眼球。
- 高并發(fā),大流量。
念得出名字的互聯(lián)網(wǎng)公司基本都是高并發(fā),大流量。
- 雙十一秒殺系統(tǒng)實現(xiàn)介紹。
1.通過原有的下單增加三個變量完成,是否秒殺,開始時間,結(jié)束時間。
2.是否秒殺,是為了商品的展示。如果是秒殺商品的特殊判斷。
3.進(jìn)入頁面之前先進(jìn)入controller獲取一個當(dāng)前的后臺時間傳遞到前臺,方便讀秒。
4.前端js判斷時間到達(dá)后進(jìn)行下單,下單時傳遞時間跟后端時間進(jìn)行對比,防止被高手修改時間強行下單。
5.對于庫存是通過下單的時間來判斷的,必須按照秒殺開始后的時間來進(jìn)行判斷,每次下單庫存都需要進(jìn)行判斷,防止超賣。 sql上邊的判斷:
update t_product set 庫存=庫存-1 and 商品id="ID號" and 庫存>0;數(shù)據(jù)庫防止絕對超賣。
6.忘了說了,必須判斷登錄,防止某個賬號惡意刷接口。
- 壓測
我磚都搬完了,自己點點沒問題了,還壓測個毛線啊,壓測都是測試人員的事情,我開發(fā)任務(wù)都堆成山了。

1.老鐵啊,老鐵,壓測其實很有必要,jmeter分分鐘就壓測了接口。
2.壓測可以讓自己不被坑,壓測還可以發(fā)現(xiàn)bug。
3.壓測可以讓你的代碼更健壯。
4.壓測可以找到業(yè)務(wù)和功能的bug。如果測試出來你的bug,可能罰錢,影響錢的問題。
- 了解幾個技術(shù)點
- 1.tps。t代表英文的事務(wù)。
- 2.qps。q代表查詢。
- QPS
Queries Per Second意思是“每秒查詢率”,是一臺服務(wù)器每秒能夠相應(yīng)的查詢次數(shù),是對一個特定的查詢服務(wù)器在規(guī)定時間內(nèi)所處理流量多少的衡量標(biāo)準(zhǔn)。
- TPS
TransactionsPerSecond的縮寫,也就是事務(wù)數(shù)/秒。它是軟件測試結(jié)果的測量單位。一個事務(wù)是指一個客戶機(jī)向服務(wù)器發(fā)送請求然后服務(wù)器做出反應(yīng)的過程。客戶機(jī)在發(fā)送請求時開始計時,收到服務(wù)器響應(yīng)后結(jié)束計時,以此來計算使用的時間和完成的事務(wù)個數(shù)。
PS:熟悉秒殺的原理,秒殺的開發(fā)思路,最好會用jmeter可以自己做做簡單的壓測。