電商新系統如何應對峰值

2021-08-18 11:47:36 字數 1312 閱讀 2334

唯品會11.11:峰值系統應對實踐:

為了保證系統在高併發、大流量訪問下工作,並且使系統有較強的擴充套件性,我們的設計主要從以下幾個方面展開:

在系統流量達到極限時的情況,有自動熔斷機制。熔斷器是在服務或者周邊環境(如網路)出現了異常後主動斷開客戶端後續的使用,從而避免服務崩潰無法恢復。但是在後續時間熔斷將使用小量請求嘗試偵測服務是否已經恢復,如果恢復則將服務再次提供給客戶端呼叫。熔斷器的機制即保護了服務也減少了人工干預。相關的閥值都在是在配置中心中配置,並支援動態修改生效。限流一定要謹慎使用,要使用恰當的限流策略,區分正常訪問和惡意請求,不能將正常的使用者請求抹殺掉。如果無法區分是否是惡意請求,需要將應用分級,確保優先順序最高的應用能被訪問到,比如所有上線的商品資訊。而對於下線的商品資訊,可以根據請求容量作適當的限流。

增加非同步訪問

分布式非同步訊息佇列伺服器可在宕機後確保訊息不丟失,非同步系統有重試機制,從而提高系統可用性、健壯性和擴充套件性。

1、動靜分離,靜態化

靜態化可降低後端壓力,一方面通過使用者瀏覽器快取靜態資源,失效時間通過cache-control來控制。另外一方面通過cdn快取,例如商品詳情頁面,為了提高快取效率,可將商品詳情頁面偽靜態化,將url字尾顯示為html,商品描述資訊等靜態資訊在有使用者訪問情況下,快取到靠近使用者的cdn節點,另外為了提高cdn效率,提前將商品推送到cdn。其它商品動態資料可動態載入,如商品運營資訊、商品庫存、尺碼表等,從而降低了避免不必要的後台訪問。

2、分布式快取

引入分布式快取,對快取資料服務節點做統一集中管理,可支援快取集群彈性擴充套件,通過動態增加或減少節點應對變化的資料訪問負載,通過冗餘機制實現高可用性,無單點失效,不會因伺服器故障而導致快取服務中斷或資料丟失。應用端使用統一的api介面訪問快取伺服器。

通過分布式快取,可做應用物件快取、資料庫快取、會話狀態及應用橫向擴充套件時的狀態資料快取。

3、巧用應用伺服器本地快取

分布式快取雖然有效解決了訪問壓力,但由於快取伺服器分布在不同網路端、不同資料中心中部署,隨著訪問量增大將導致i/o和頻寬瓶頸。為此可將那些基本不修改的配置資料、全域性資料可以在應用伺服器本地快取,減少對後端快取伺服器例項的峰值衝擊。本地快取需要謹慎使用,如果大量使用本地快取,可能會導致相同的資料被不同的節點儲存多份,對記憶體資源造成較大的浪費。

使用快取對提高系統效能有很多好處,但是不合理使用快取非但不能提高系統的效能,反而成為系統的累贅,甚至影響系統運作,產生很大的風險。對於頻繁修改的資料、沒有熱點的訪問資料、資料一致性要求非常高的資料,不建議使用快取。

在高併發大資料量的訪問情況下,資料庫訪問瓶頸一直是個令人頭疼的問題。如果資料庫訪問出現效能問題,整個系統將受到影響。

為此需要優化資料庫訪問,從以下幾個方面解決高併發問題:

電商系統 好用的電商系統 電商管理系統

好用的電商管理系統 首先對於日漸擴大的電商行業來說,每日訂單資料統計 訂單產品的分類 老客戶的維護 店鋪每日的實際收入 庫存情況 採購物品的資訊跟蹤都是需要我們花時間去統計和關注的,所以電商管理最主要的作用應該體現在 1.商品管理 2.庫存管理 3.採購管理 4.訂單管理 5.配送結算 6.財務管理...

電商系統 電商ERP後台管理系統

在b2b電商 搭建完成之後最重要的就是對 進行運營,其中 後台管理系統是建立在b2b電商 上的一種工具,那麼我們應該怎麼對這種工具性的產品進行運營呢?一 規範b2b電子 產品的 定位標準 首先就是要規範b2b 的產品 定位,一般產品的 都是以產品的成本以及一些附加值,品牌價值等因素來體現的,b2b ...

如何選擇電商erp系統?電商大佬給你10條建議。

許多店主不知道如何為他們的店鋪選擇合適的電商erp,所以他們經常根據 選擇,哪家便宜或者回扣大就使用那家的產品。在上線後發現不僅很多問題無法解決,而且效率反而下降,工作量比以前更大,這顯然是得不償失的。所以今天我想分享我的店鋪是如何選擇電商erp系統的。我是在2014年3月開的美妝類 店,現在已經5...