微信朋友圈 應對春節千億訪問量背後的故事

2021-08-11 22:20:32 字數 1230 閱讀 1594

節日保障主要由三方面組成:軟體保障指通過程式、業務邏輯層面的優化和評估,減輕負載;硬體保障主要指頻寬、機器負載的評估和擴容;柔性措施指的是通過業務調整,降低一些不重要特性的資源,來保障重點特性的正常執行。

朋友圈整體情況:

朋友圈的模組容災主要是實現單機故障時的自動剔除,主要形式是通過master管理伺服器的ip列表,通過心跳探測等方式找到異常裝置,並遮蔽故障ip,不返回給前端使用,以front層的單機剔除為例:

如果整個oc或idc點碰到故障,由於變動較大,一般依賴運維人員手工切換來恢復,或者通過模組之間的重試機制來保障

但重試由於會造成請求的增加,所以是把雙刃劍,節日期間由於請求本身漲幅已經很高,重試更容易引發問題,需要進行調整:

1.通過master路由下發,關閉重試。在元旦/春節這種請求有數倍增長的節日實行。

2.值班人員嚴密監控,如果idc失敗率超過20%,則緊急手工關閉重試。這種在中秋/國慶這種增長並不高的節日實行。

front模組的重試控制介面:

容量評估和裝置擴容:

節日前運維人員會連同資源組,根據業務預算和業務增長的需求及實際負載,進行各個機房、模組的裝置擴容。預算以外的請求**,則通過柔性或者過載的方式,進行降低或者拒絕。

春節朋友圈上傳負載:

朋友圈的柔性策略分為兩層:

朋友圈業務的主要增長與瓶頸:

從前文的裝置負載評估圖看,在預算範圍內,接入層和邏輯層都只能支撐5倍增長,而壓縮compress模組只能支撐1倍增長。

compress模組的作用是將客戶端上傳來的原始按需求壓縮成各種格式和尺寸,以支援特定的業務場景,並且節省儲存空間和頻寬。由於壓縮技術的不斷發展,使用更先進的壓縮格式,同等清晰度的壓縮比例越高,需要消耗的壓縮計算資源就越多。

所以採用的折衷方法,是在上傳換回jpeg格式的同時,將的清晰度從70降為50,這樣可以減小檔案平均大小,從而抵消換回jpeg格式帶來的流量**效果。實際測試中,發現使用者對降清晰度的感知並不明顯,在節假日短暫開啟不會影響使用者體驗。

降位元速率生效期間流量變化

由於上傳preupload介面機及後層的邏輯模組等,都無法支援10倍漲幅。所以在架構中另外搭建了兩套tssd緩衝池,緩衝池用於臨時儲存新上傳的檔案,可以支援讀寫。按上圖所示,在zone模組處增加了緩衝池一,在上傳preupload處,增加了緩衝池二。兩個緩衝池的作用是有區別的:

timeline柔性後這裡不會更新了

但也有幾點注意事項:

春節人工執行柔性的步驟

雲伺服器20元/月起,更享千元續費大禮包

微信朋友圈api使用

3 匯入相關的庫檔案 官方文件有詳細資訊 編譯出錯的話檢查匯入libc dylib這個庫沒有 if success else return yes return wxapi handleopenurl url delegate self return wxapi handleopenurl url ...

微信朋友圈運營規則

一 哪種行為或內容不應在朋友圈出現?1 誘導分享行為 符合以下任意一條即算違規 b 利誘使用者分享 分享後對使用者有獎勵。包括但不限於 邀請好友拆禮盒,集讚,分享可增加一次 機會 c 脅迫 煽動使用者分享 用誇張言語來脅迫 引誘使用者分享。包括但不限於 不轉不是中國人 請好心人 一下 後一生平安 轉...

android 微信朋友圈微博分享

新增 和資源引用,我們提供了新增資源檔案和jar檔案的兩種方式,可以根據需求選擇 解壓sdk壓縮包,將資料夾中的 main libs 和 main res 資料夾複製到你的專案工程根目錄下 如使用 adt 17 以下使用者需要手動新增 libs 下的jar檔案到工程path中 解壓sdk壓縮包,將資...