架構與思維:秒殺和競拍的業務架構,永不過時的話題
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
1 互聯網架構越來越復雜?為啥感覺互聯網架構越來越復雜了,早期我們的系統,可能也就那么少部分人使用,大都是一些后臺管理系統。
但是隨著互聯網的普及和用戶的激增,為了應對流量增量帶來的各種問題,我們的架構體系衍生出很多強大的技術方案。 2 什么是秒殺/競拍業務秒殺業務也是隨著互聯網電商的發展而不斷普及的,我們來看看普通業務和秒殺業務的區別 2.1 普通的業務
2.2 秒殺/競拍業務只有少量的數據,卻會在集中的時間段被一批人看到和搶購,集中式的高頻讀寫。 典型秒殺/競拍業務案例:
這些業務場景有如下技術難點:
所以,一個優秀的秒殺業務架構,在現在的互聯網業務中,是一個永不過時的話題 3 如何優化這邊只針對幾個對秒殺業務有效改進的點做展開,什么集群動態擴容、流量控制、彈性伸縮、智能限流啊,可以參考我的這篇文章《千萬級流量沖擊下,如何保證極致性能》。 3.1 清除無效請求盡量在前面就把一些無效請求給清理掉,所以這些操作Web前端 或者 App Client端做就行了,越前端越好,盡量不要傷害到服務端,比如:
3.2 服務端+緩存層做高效原子操作公共數據做緩存 原子操作保證秒殺的計數
隊列保證請求有序進入
這里 mystream 是 Stream 的名稱,* 表示讓 Redis 自動生成一個唯一的消息 ID。field1 value1 和 field2 value2 是消息的內容,你可以根據需要添加任意數量的字段。 擴展閱讀 3.3 數據層做終兜底經過上面的保證之后,到數據層的量就很少了,大概率就是你定額的商品數量同等的數量。 3.4 全球式業務,單元化處理有些人可能會說,我的商品全球售賣,那我的緩存中心、數據中心放哪里,如果放中國,那跨地域跨機房訪問,在0.1微妙都能決定我是不是買得到,歐洲的客戶鐵定搶不到庫里南了。 A/B中心都有這樣的緩存或者數據結構,配置中心統一下發配置。然后在各自的單元里面玩耍,互不干預。 秒殺業務千萬不要想著跨地域+跨機房,用戶存在不公平性。 4 寫在最后
該文章在 2024/7/22 10:45:43 編輯過 |
關鍵字查詢
相關文章
正在查詢... |