秒殺構架到如今是乙個很常見的業務場景,多數情況要考慮到瞬時的流量峰值不至於壓垮系統,但同時又要保證整個業務系統的可用性,許多大公司在面試的時候也會問到關於秒殺的問題。
秒殺場景的業務場景包括:
**比較優惠
推廣效果比較好
在短時間內順時將商品售空
技術需求分析重點考慮以下幾點:
關於商品的超買超賣的問題
訂單持久化,高併發情況下資料寫入的一致性問題
如果在高併發的情況下解決系統負載問題
針對秒殺這種場景,其實多數流量是無效的,如果能夠把無效的流量擋住就可以有效的解決後端資料庫寫入的壓力
現在將秒殺作為乙個單獨的業務進行分析:
關係型資料庫設計:
快取設計:
請求介面設計:
由於最終的資料一致性由關係型資料庫保證,所以最終的秒殺結果也由資料庫為準,將整個系統架構設計如下:
後端配合spring cloud技術架構
秒殺的架構
昨天回答的太差了,明明都是些很簡單的東西,我居然回答的那麼差 讓我很有挫敗感 一些概念性的東西這裡就不說了,下面兩個問題,重新梳理一下 1,一致性雜湊虛擬節點與真實節點對映關係的建立 現在我們使用的是字串構成的圓環,每台真實伺服器生成n個虛擬節點,虛擬節點生成的規則為,用 i遍歷從0到n 1,對字串...
關於新架構的思考
1.對request和session的深層封裝真的有實際意義嗎?2.如果request封裝的真的很厚實,那麼,我們必須要保證的,控制器在完全屏棄request以後,能夠方便獲取request中的物件.方便訪問session中的物件,這點,在分層體系架構的設計上是非常重要的.3.對於bo和持久層,以及...
美妙的秒殺架構
秒殺程式問題根源在於 海量的請求在爭搶有限的資源,秒殺其實和火車票非常像,都是對有限資源的搶占。這一點和微博不一樣,微博不需要加鎖,是客戶端來拉去,資源是不受限的。首先是要對於架構進行分層,最上面是展示層,其次是站點層,然後是服務層,最後才是資料層。秒殺架構的核心其實 保護資料層,因為在整套秒殺架構...