原创 秒殺系統 json封裝

json簡介 JSON是一種數據交換格式。JSON是基於文本的,輕量級的,通常被認爲易於讀/寫。 JSON 特性包括以下內容: 靈活性,允許程序員定義鍵。 內容較少,因爲內容主要是數據。 便攜式數據。 非專有的。 Web 服

原创 秒殺系統 Thymeleaf

Thymeleaf特點 學過jsp的同學應該知道jsp相當於Java和html的組合,這裏我們也可以將Thymeleaf 看作jsp,參考網上一句話,這是理解thymeleaf的關鍵, 它支持 html 原型,然後在 html 標

原创 秒殺系統 SpringBoot環境搭建

爲什麼使用Spring Boot? SpringBoots 是現在比較流行的微服務框架,有時間最好學習一下SpringBoot,當然 ssm也有挺多企業在用,SpringBoot雖然入門簡單,但是一旦出現bug,排查起來比較困難

原创 秒殺系統 集成Mybatis druid

數據庫連接 數據庫大家都不陌生,從名字就能看出來它是「存放數據的倉庫」,那我們怎麼去「倉庫」取東西呢?當然需要鑰匙啦!這就是我們的數據庫用戶名、密碼了,然後我們就可以打開門去任意的存取東西了。這個時候,我們與數據庫之間的連接就是「

原创 秒殺系統 安全優化 接口限流防刷

接口限流防刷 限制同一個用戶一秒鐘或者一分鐘之內只能訪問固定次數,在服務端對系統做一層保護。 實現思路 利用緩存實現,用戶每次點擊之後訪問接口的時候,在緩存中生成一個計數器,第一次將這個計數器置1後存入緩存,並給其設定有效期,比

原创 秒殺系統 訂單詳情頁

秒殺成功後,會生成秒殺訂單,然後和訂單數據信息一起跳轉至訂單詳情頁面(order_detail.html) 根據orderStatus的值來判定訂單的狀態: 0 未支付 1 代發貨 2 已發貨 3 已收貨 4 已退款 order_

原创 秒殺系統 安全優化 數學公式驗證碼

秒殺接口地址的隱藏可以防止惡意用戶通過頻繁調用接口來請求的操作,但是無法防止機器人,刷票軟件惡意頻繁點擊按鈕來刷請求秒殺地址接口的操作。 高併發下場景,在剛剛開始秒殺的那一瞬間,迎來的併發量是最大的,減少同一時間點的併發量,將併發

原创 秒殺系統 分佈式Session

在搭建完集羣環境後,不得不考慮的一個問題就是用戶訪問產生的session如何處理。如果不做任何處理的話,用戶將出現頻繁登錄的現象,比如集羣中存在A、B兩臺服務器,用戶在第一次訪問網站時,Nginx通過其負載均衡機制將用戶請求轉發

原创 秒殺系統 安全優化 秒殺接口地址隱藏

秒殺接口地址隱藏 每次點擊秒殺按鈕,纔會生成秒殺地址,秒殺地址不是寫死的,是從服務端獲取,動態拼接而成的地址。(HTTP協議是明文傳輸,前端是防不住惡意用戶的攻擊,所以安全校驗要放在服務端,從而禁止掉這些惡意攻擊。) 實現思路:

原创 秒殺系統 MD5加密

什麼是MD5加密? 通俗說 md5是一種信息摘要算法,它可以從需要加密的數據中按照一定的規則生成一個特殊的字符串,並且一個文件所對應的MD5摘要是固定的,當文件內容變化後,其MD5值也會不一樣,因此,在應用中經常使用MD5值來

原创 記錄一個華爲主題APP的BUG

步驟: 重點:用移動數據,不能用WiFi 1.卸載應用商店 2.關閉自動更新 3.安裝之前存在BUG的版本 鏈接:https://pan.baidu.com/s/1wpBYZ6ZCz8D49GoBkLFtqg 提取碼:7tq5

原创 秒殺系統 MD5

筆者認爲登錄功能不難做,但是要做出一個安全可靠的登錄界面卻非常的難,很多人會說,登錄功能是最簡單的業務代碼,但是筆者認爲許多網站出現用戶登錄密碼泄露事件都和這個登錄有一定的關係,所以登錄功能必須好好研究一下,現在就利用MD5實現

原创 秒殺系統 秒殺靜態化+訂單詳情靜態化

秒殺靜態化 改造商品詳情頁面的點擊秒殺的業務邏輯,我們調用js方法實現ajax異步發送消息,如果秒殺成功,那麼直接由客戶端去跳轉訂單詳情頁面 window.location.href="order_detail.htm?order

原创 秒殺系統 秒殺商品詳情頁 秒殺倒計時功能實現

詳情鏈接中有{goodsId}作爲參數,後端@PathVariable(“goodsId”)long goodsId拿到這個goodsId,然後去數據庫查詢對應的商品信息,並顯示秒殺情況。 我們點擊商品詳情,發送一個連接到後端,那

原创 秒殺系統 高併發秒殺接口優化

高併發秒殺接口優化 接口優化(核心思路:減少對數據庫的訪問) Redis預減庫存減少對數據庫的訪問 內存標記減少Redis的訪問 請求先入隊緩衝,異步下單,增強用戶體驗 RabbitMQ安裝與SpringBoot的集成(目的:同