自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如果你是雙十一技術(shù)負責人,你要怎么準備?

開發(fā) 新聞
今天就來跟大家聊一聊我們作為一名技術(shù)在大促中要去做哪些技術(shù)保障,以及如何去做。

大家好,我是李哥。

進阿里以來一直聽說一句話:“沒有經(jīng)過雙11峰值驗證過的技術(shù)都是玩具”。雖然有些夸張,但是不可否認的是,一年一度的雙11,是技術(shù)最好的孵化器,也是技術(shù)同學最向往的閱兵場。

我很榮幸,擔任今年年中大促的技術(shù)一號位,也就是技術(shù)負責人。今天就來跟大家聊一聊我們作為一名技術(shù)在大促中要去做哪些技術(shù)保障,以及如何去做。也希望大家看完,就像身臨其境的感受了一次大促。

我將故事分為三大部分:事前、事中、事后,最后我們再總結(jié)。

圖片

1.事前

KO會議

首先在事前,我們第一件事就是參加KO會議(Kick Off Meeting,項目啟動會)。

它主要會傳達以下幾個信息:

  1. 大促的背景與意義
  2. 大促的目的與目標
  3. 業(yè)務(wù)的具體玩法以及具體時間
  4. 大促的人員組織架構(gòu)

也就是說,在這里,我們技術(shù)需要從中獲取如下信息:

  1. 業(yè)務(wù)預期DAU
  2. 業(yè)務(wù)預期DAT
  3. 具體有哪些活動玩法
  4. 活動玩法的具體時間段
  5. 哪些商品參與大促,是否有第三方商品
  6. 這些商品的庫存分別是多少

溝通

KO大會上,可能會是一個全局的,整體的,對于一些細節(jié),下來我們需要與業(yè)務(wù)進行溝通,比如活動粒度是多少?宣傳力度是多少?業(yè)務(wù)的預期DAU與DAT如何評估的?是否準確?等。

這一步的目的是確認你的信息是無誤的,以及了解一些細節(jié)。

流量評估

你需要清晰的知道,當前階段每天的流量、DAU、DAT是多少,業(yè)務(wù)評估是多少,技術(shù)側(cè)評估又是多少,當前階段的性能是否能支撐即將來臨的大促,如果不能,需要做出什么調(diào)整。

  1. 優(yōu)化?怎么優(yōu)化?優(yōu)化哪些業(yè)務(wù)?現(xiàn)在優(yōu)化還來得及嗎?
  2. 擴容?擴容哪些服務(wù)?擴容到多少?為什么要擴容到這么多機器?
  3. 降級?什么業(yè)務(wù)降級?業(yè)務(wù)是否支持降級?什么時候降級?

這么多問題,看起來現(xiàn)在就需要對業(yè)務(wù)進行一次梳理了。

業(yè)務(wù)梳理

我們需要梳理出哪些業(yè)務(wù)是核心業(yè)務(wù),哪些業(yè)務(wù)是非核心業(yè)務(wù),哪些業(yè)務(wù)是可降級業(yè)務(wù),這類數(shù)據(jù)大致可以從上一次大促獲取。

再加上上次大促到本次大促期間所產(chǎn)生的新項目(業(yè)務(wù)項目或技術(shù)項目)進行梳理,是否影響核心鏈路?是否進行了壓測?壓測結(jié)果如何?這些項目可能存在什么技術(shù)風險?

你的服務(wù)依賴哪些下游服務(wù),這些下游服務(wù)又是如何依賴的,這是個很麻煩的事情,因為隨著業(yè)務(wù)變大,依賴關(guān)系會變得非常復雜,很難判斷與梳理。盡管很難,但是這個依賴關(guān)系仍然要梳理清楚,只有梳理清楚了,才有全鏈路。

壓測

圖片

有了業(yè)務(wù)梳理和業(yè)務(wù)指標,那么就在技術(shù)上要能夠支撐到這個業(yè)務(wù)級別,那就是壓測了。

到目前為止有兩種壓測方式:

  1. 不擴容壓測
  2. 擴容后壓測

不擴容壓測一般不推薦,這種方式需要對業(yè)務(wù)指標打折作為目標來進行壓測,最后在擴容的時候還是需要壓測一次,因為局部壓測不能完完全全代表整體壓測,如果整體壓測出現(xiàn)問題,那么所有的局部壓測都是白費苦工。

擴容壓測,就是指容量擴容到大促支撐位,然后進行壓測。

值得注意的是,壓測一定是針對生產(chǎn)!

有些同學對開發(fā)環(huán)境、測試環(huán)境、預發(fā)環(huán)境、灰度環(huán)境、仿真環(huán)境進行壓測,從而推斷出生產(chǎn)環(huán)境的性能。這是萬萬不可取的,因為環(huán)境不同,服務(wù)器的性能不一樣,生產(chǎn)環(huán)境和其他環(huán)境的DB性能也不一樣,還有一些中間件性能也不一樣。所以,壓測一定要在生產(chǎn)環(huán)境壓測,但是有一個缺點,就是會對線上的正常流量產(chǎn)生影響,這也是不可避免的,所以壓測的時候,一般都會選擇流量不大的時候進行,盡量減少對正常流量的影響,一旦產(chǎn)生影響,請立即停止壓測。

還有就是壓測需要流量爬坡,切記不可一步到位,按照一定比例逐漸施壓,每一個坡度都觀察幾分鐘,沒問題繼續(xù)施壓,達到目標后觀察幾分鐘沒問題直接停止壓測,不可戀戰(zhàn)!

為什么不戀戰(zhàn)?因為大促的流量趨勢就是那幾分鐘,長久的施壓對服務(wù)器的性能有一定影響,比如CPU飆高啊,頻繁GC啊等,所以在在壓測過程中還需要不斷觀察系統(tǒng)整體性能,還有就是也會影響到正常的用戶訪問。舉個例子,奧運會舉重,明明只需要保證舉起來三秒即可,你訓練的時候難道要舉起來三分鐘嗎?

對于壓測,我們后面再單獨拎一篇文章出來,這里就不過多講述了,敬請期待!

限流

圖片

壓測完了后,我們需要輸出一份壓測報告,比如商詳支持多少qps,下單頁支持多少qps,下單支持多少tps等。

這些數(shù)據(jù)說明了,我們的系統(tǒng),有多少實例,哪個接口能承受的最大峰值是多少。那么我們就需要對這個接口或這些接口做限流。

圖片

這里我們說一下單機限流與集群限流,單機限流指的是每臺機器自身的限流,集群限流指的是整個服務(wù)集群的限流。

單機限流的目的是保護服務(wù)本身,保證自身服務(wù)不被流量擊垮。

集群限流的目的是保護下游服務(wù),保證下游服務(wù)不被當前服務(wù)擊垮。

比如A->B->C,每個服務(wù)三臺實例,整個B集群最大能支持150qps,C集群最大能支持100qps,那也就是說B服務(wù)需要設(shè)置集群限流100qps用來保證C,B的三個實例需要設(shè)置單機限流50qps用來保證自身不被擊垮。

所以如果流量不傾斜的話,B服務(wù)每個實例會有33qps,如果傾斜的話,最大50qps。

我們回到大促限流,所以,我們需要拿著我們的壓測報告,針對我們的服務(wù)做單機限流與集群限流。

降級

限流后,我們能夠保證服務(wù)本身不被擊垮,保證下游不被擊垮,但是,這不是我們的目標,我們的目標是要保證大促期間商詳沒問題,下單支付沒問題呀!

所以,我們要降級,一些比較耗性能的業(yè)務(wù)降級,一些邊緣業(yè)務(wù)降級,給核心業(yè)務(wù)讓路。

然后就需要梳理這些業(yè)務(wù),有哪些需要降級的業(yè)務(wù)?什么時候降級?由誰來降級?什么時候恢復等。

應(yīng)急預案與演練

圖片

當我們保證了核心鏈路的正常后,我們還需要考慮異常的情況。對于電商系統(tǒng)來說,要考慮到整個生命周期異常的可能性,比如:打開商詳頁失敗、打開訂單渲染頁失敗、下單失敗、履約失敗等。說的都比較概括,我們當時準備了上千個預案!

淘系雙11大促,為了安全起見,是不會有任何依賴外部系統(tǒng)的,因為第三方系統(tǒng)都無法承受住淘系大促期間的流量波。

如果你的電商系統(tǒng)有依賴外部系統(tǒng)的,那么你還要梳理出哪些渠道哪些商品會參與本次大促,這塊也需要針對渠道做壓測與限流,有可能渠道由于體系較小不支持壓測,這時候你可能要考慮到在履約的時候做蓄洪與泄洪,使用真實流量來沖擊渠道,用于檢驗渠道的性能。另外在有第三方參與的情況下一定要有每個渠道的應(yīng)急預案,對應(yīng)給用戶展示的文案是什么都是不一樣的。

最重要的是要與合作伙伴共同制定一份SLA(Service Level Agreement):服務(wù)級別協(xié)議,服務(wù)提供商和客戶之間的協(xié)議,用于確定所需的服務(wù)和預期的服務(wù)水平,對互聯(lián)網(wǎng)公司來說是網(wǎng)站服務(wù)可用性的保證。

在這里SLA約定了客戶對于合作伙伴的線上運維、計劃運維、業(yè)務(wù)連續(xù)性以及故障處理能?的要求。

做完預案后,要通過預案平臺進行演練,或者人工演練,要當做到熟能生巧,大促出問題后才會顯得臨危不亂。

圖片

監(jiān)控

大促出問題?你怎么知道這塊出了問題?這時候需要監(jiān)控,需要告警。

大促大盤監(jiān)控、全鏈路監(jiān)控、核心鏈路監(jiān)控、壓測監(jiān)控、限流監(jiān)控、資源監(jiān)控、網(wǎng)關(guān)監(jiān)控、渠道履約監(jiān)控......

圖片

規(guī)范

大促期間是需要制定很多規(guī)矩,比如發(fā)布紅線、紅線問責、預案執(zhí)行規(guī)范、緊急擴容規(guī)范、緊急發(fā)布規(guī)范......,我們這里統(tǒng)稱大促變更規(guī)范吧。

無以規(guī)矩不成方圓,制定這些規(guī)范的目的是能讓我們明確問題發(fā)生后我們應(yīng)該按照什么流程去應(yīng)急。

其他

還有很多其他的一些雜七雜八的,比如大促前每周周會、大促值班人員排班、大促作戰(zhàn)室、問題的上升制度等。

到這里,我們?nèi)f事俱備,只欠東風了。

2.事中

事中是整個環(huán)節(jié)最簡單的,跨度最短的階段,但是簡單不代表不重要。主要是關(guān)注以下幾件事情:

  1. 大促的關(guān)鍵節(jié)行為節(jié)點記錄
  2. 大促問題記錄
  3. 重點關(guān)注告警與監(jiān)控
  4. 出現(xiàn)問題按照預案與預案規(guī)范執(zhí)行,按照問題升級規(guī)范升級
  5. 大促期間嚴格控制發(fā)布變更與數(shù)據(jù)變更,避免影響大促
  6. 大促日會

最重要的就是要持續(xù)關(guān)注告警與監(jiān)控,一旦出現(xiàn)問題需要及時響應(yīng)與止血,嚴格按照預案執(zhí)行。另外就是關(guān)注大促每個場次的峰值情況,通過自動記錄或人工記錄的方式進行記錄峰值,方便作為下次流量評估的依據(jù)。

3.事后

事后我們最重要的就是要做大促復盤,盤點大促期間的一些好的點和不好的點,對于好的點如何延續(xù)到下次大促甚至更好,不好的點如何進行調(diào)整。業(yè)務(wù)上關(guān)注哪些商品在哪些區(qū)域更好賣一些,哪些玩法更能讓用戶接受一些;產(chǎn)品側(cè)需要關(guān)注配合業(yè)務(wù)對于現(xiàn)有的產(chǎn)品模型做出一些調(diào)整與優(yōu)化;技術(shù)側(cè)重點關(guān)注性能,本次大促是否存在性能瓶頸,瓶頸在哪里,如何優(yōu)化,架構(gòu)上是否需要調(diào)整,下次大促如何去支撐等。

其次是降級恢復,在大促前做的降級,在大促后需要對其恢復。

我們還需要對于系統(tǒng)存在的性能問題進行持續(xù)優(yōu)化改進,然后進行壓測,得出結(jié)論,再優(yōu)化,再壓測,優(yōu)化,壓測,......。

圖片

總結(jié)&展望

大促前:KO大會、大促周會、細節(jié)溝通、流量評估、業(yè)務(wù)梳理、壓測、限流、降級、預案、演練、監(jiān)控、規(guī)范。

大促中:值班、記錄、關(guān)注告警與監(jiān)控、執(zhí)行預案、執(zhí)行規(guī)范、日會。

大促后:復盤、降級恢復、持續(xù)優(yōu)化、持續(xù)壓測、持續(xù)發(fā)布。

每到大促,如何保障系統(tǒng)高峰扛得住、長期平穩(wěn)是每個大促人必須面對的問題。大促期間發(fā)生的每一個問題都可能被無限放大,所以我們需要謹慎對待,這開不得玩笑。

責任編輯:張燕妮 來源: 李哥技術(shù)
相關(guān)推薦

2015-08-20 13:48:13

MIUI創(chuàng)新小米

2016-04-25 13:13:10

HTCviveVR

2015-10-19 16:51:01

2014-06-27 14:49:41

SDN

2017-03-13 15:30:22

慕尼黑WindowsLiMux

2023-09-11 11:14:54

IT團隊CIO

2016-01-15 10:47:08

技術(shù)團隊能力

2015-11-16 10:16:56

技術(shù)蛻變創(chuàng)業(yè)

2024-04-19 16:10:03

2013-04-17 10:56:10

ONFOpenDayligh標準協(xié)議

2014-05-21 16:04:38

面試面試規(guī)則

2014-12-01 10:01:19

2019-04-01 13:20:34

技術(shù)負責人CEO

2011-08-23 17:02:37

FedoraLinux 20周年

2012-12-13 11:12:24

戴爾

2011-03-11 13:18:44

2009-04-01 10:43:26

雅虎產(chǎn)品技術(shù)離職

2014-01-21 16:13:01

2018-08-14 12:59:00

大數(shù)據(jù)

2009-09-15 10:45:52

Linux驅(qū)動Linux微軟
點贊
收藏

51CTO技術(shù)棧公眾號