操bb国片四区三区,亚洲一片内射无码,91短视频福利导航,蜜桃臀成人免费在线视频观看

3年0故障:貨拉拉業(yè)務(wù)高峰穩(wěn)定運行,竟然有這些 SRE 寶貴經(jīng)驗…

2024-08-01 10:16:54 Jinyu

背景

眾所周知,業(yè)務(wù)高峰帶來的流量大幅增加會對系統(tǒng)造成巨大的壓力和風(fēng)險,就像消防局在火災(zāi)高發(fā)期需要加強火災(zāi)風(fēng)險關(guān)注一樣,貨拉拉也需要在高風(fēng)險時段投入更多資源識別和解決問題。而業(yè)務(wù)高峰通常還具備一些特殊意義,往往伴隨著公司業(yè)務(wù)目標(biāo)的達成,如單日訂單破峰,如果因為系統(tǒng)故障導(dǎo)致目標(biāo)未達成,影響也會非常惡劣。當(dāng)前貨拉拉會經(jīng)歷各種業(yè)務(wù)高峰場景,像新業(yè)務(wù)開城放量、優(yōu)惠權(quán)益秒殺、節(jié)前貨運需求激增等等,都要求系統(tǒng)具備高度穩(wěn)定性和抗風(fēng)險能力。

圖片

自2020年下半年起,貨拉拉開始系統(tǒng)化地進行業(yè)務(wù)高峰保障,經(jīng)過三年多努力,技術(shù)團隊累計發(fā)起34次業(yè)務(wù)高峰保障,且自2021年以來連續(xù)三年多在業(yè)務(wù)高峰期間保持零故障記錄。接下來我將與大家分享在此過程中積累的實踐心得和思路。

一、業(yè)務(wù)高峰保障應(yīng)該如何開展?有哪些重難點?

1.1 明確業(yè)務(wù)高峰保障的目標(biāo)

對于業(yè)務(wù)高峰穩(wěn)定性保障,毫無疑問,我們最重要的目標(biāo)是確保期間不發(fā)生任何系統(tǒng)故障。除此之外,要與業(yè)務(wù)部門充分溝通,對齊要保障的具體業(yè)務(wù)目標(biāo)。比如,確定用戶下單指標(biāo)的具體目標(biāo)數(shù)值是多少,100萬還是200萬。如果業(yè)務(wù)目標(biāo)單量過于夸張,比如相比日常增長100倍,那技術(shù)團隊肯定需要提前評估這一目標(biāo)的可行性和成本。這樣,我們才能向業(yè)務(wù)部門提供準(zhǔn)確信息,幫助他們做出合理決策。

圖片

除了上述目標(biāo)之外,技術(shù)內(nèi)部也有一些關(guān)鍵過程指標(biāo),比如系統(tǒng)的SLA表現(xiàn)、線上問題的應(yīng)急處理時效等。
最后,難度較大的目標(biāo)還是關(guān)于成本的目標(biāo)管理,在發(fā)展初期,穩(wěn)定性保障往往需要較大的投入,成本管理也是較容易被忽視的點。這方面需要思考的主要問題,一個是我們在進行保障工作的過程中,人效是否能有所提高;其次,在相同增長規(guī)模下,服務(wù)器資源的單位投入是否有所降低:舉例來說,如果之前業(yè)務(wù)高峰時,需要投入50萬的服務(wù)器成本,那么下一次同樣的單量增長情況下,投入的資源成本是不是能比之前要少?

1.2 業(yè)務(wù)高峰保障應(yīng)該怎么開展(項目管理的視角)

定好目標(biāo)之后,就需要從項目管理的視角出發(fā),來審視和規(guī)劃后續(xù)的工作。
我們先來看下業(yè)務(wù)高峰保障的特點。穩(wěn)定性保障項目相比一般項目來說,參與的人數(shù)更多,涉及的部門跨度也更大。而且,業(yè)務(wù)高峰保障通常是一個不能延期的項目——有些業(yè)務(wù)開城或許可以適當(dāng)延期,但像雙11這樣的大型促銷活動,以及貨拉拉隨著市場需求增加而面臨的高峰,是不可能推遲的。因此,保障項目組在整個過程中扮演著至關(guān)重要的角色。相比攻克技術(shù)難題,如何組織不同職能的人員共同達成目標(biāo)可能更具挑戰(zhàn)性。

圖片

可以通過以下這些措施,確保項目管理視角下的保障工作有效開展。

1)建立保障項目組。

明確組織矩陣——對于整個保障項目組,在一開始就要明確保障工作的組織結(jié)構(gòu)。需要確定引入哪些人員,以及這些人分別負責(zé)哪些領(lǐng)域的工作。

對齊保障節(jié)奏——由于這大多數(shù)是一個倒排期項目,必須安排好整個保障項目的周期,確保每個關(guān)鍵里程碑的達成。

2)業(yè)務(wù)輸入/更新。在整個大橫向組織的對接中,保障項目組承擔(dān)著向上接收業(yè)務(wù)輸入和信息更新的任務(wù)。需要與業(yè)務(wù)部門對齊,明確業(yè)務(wù)高峰保障的具體時間、目標(biāo)業(yè)務(wù)指標(biāo),以及可能發(fā)生的關(guān)鍵運營動作。
3)任務(wù)輸出/驗收。這部分主要面向保障工作的實際執(zhí)行者——技術(shù)研發(fā),下發(fā)保障具體工作任務(wù),并對整體完成情況進行驗收。在這個過程中,會采用一些常規(guī)的項目管理手段。項目Kick-off,項目整體進展定期溝通,包括保障大群、項目周例會等組織形式。

1.3 保障任務(wù)的具體內(nèi)容(技術(shù)保障的視角)

從技術(shù)視角來看,整個業(yè)務(wù)高峰保障流程的核心是風(fēng)險管理,從風(fēng)險識別到風(fēng)險消除,確保沒有遺漏的風(fēng)險點,并為每個已識別的風(fēng)險制定解決方案。
在主體層面,可以將風(fēng)險分為三個主要部分:公司內(nèi)部、外部使用者、三方依賴。根據(jù)穩(wěn)定性保障的通用經(jīng)驗,風(fēng)險類別又可大致分為——容量風(fēng)險、變更風(fēng)險、鏈路風(fēng)險、人員風(fēng)險。結(jié)合風(fēng)險類別和風(fēng)險主體,可以構(gòu)建起整個技術(shù)保障的框架。

圖片

1)外部客戶。這方面可能帶來的主要風(fēng)險是流量沖擊,要求我們根據(jù)系統(tǒng)承載能力的上限,提前設(shè)定合理的限流閾值。
2)公司內(nèi)部。這部分是主戰(zhàn)場。

  1. 在容量風(fēng)險方面,除了進行壓測和系統(tǒng)擴容,還需要準(zhǔn)備充分的預(yù)案,包括提前的營銷場景數(shù)據(jù)預(yù)熱和緊急情況下的降級預(yù)案。

  2. 變更管理是另一個關(guān)鍵點,我們通常會采取封網(wǎng)措施,規(guī)定在特定時間內(nèi)不允許進行任何變更。同時,也會在高峰前對核心變更內(nèi)容進行審查,避免已治理過的內(nèi)容發(fā)生變動,以確保保障工作的效果是可控的。

  3. 鏈路健壯性方面,重點關(guān)注服務(wù)風(fēng)險治理,包括各項超時、降級熔斷、依賴關(guān)系等等的合理性。完成治理后,我們將在關(guān)鍵點進行攻防演練,以檢驗效果。

  4. 人員風(fēng)險同樣不容忽視。為避免在關(guān)鍵時刻找不到處理問題的人,我們要求團隊提前安排好值班人員,并在高峰期間進行系統(tǒng)巡檢和打卡。除此之外,設(shè)置小黑屋值班機制也是很有必要的,把各核心系統(tǒng)的關(guān)鍵負責(zé)人集中在一個大會議室里,方便快速溝通、將問題消滅在萌芽階段。

3)三方依賴。這里特別要關(guān)注容量風(fēng)險和降級手段。由于三方容量采購流程通常較長,需要確保提前準(zhǔn)備到位。對于有備份或弱依賴的服務(wù),要制定一鍵降級預(yù)案,并進行演練驗證。另外在應(yīng)急響應(yīng)方面,也要提前通知所有廠商業(yè)務(wù)高峰期的時間,確保他們能夠提供必要的支持。

1.3.1 云商重保

三方依賴這里,我將就云服務(wù)商的保障重點展開分享,因為云商的穩(wěn)定性對完全上云的業(yè)務(wù)系統(tǒng)是至關(guān)重要的。
信息拉齊。貨拉拉會由專業(yè)的云資源團隊負責(zé)與云服務(wù)商對接。將業(yè)務(wù)高峰的信息拉齊是一開始的關(guān)鍵,要確保所有相關(guān)人員都能充分理解和重視業(yè)務(wù)高峰保障的重要性。
②資源備貨。提前備貨是最重要的事項,因為云商的資源并不是無限的,有些特殊規(guī)格的資源存量較小,需要提前與云商協(xié)調(diào)準(zhǔn)備好所需的資源。

圖片

③資源預(yù)熱。在高峰期來臨前,某些資源可能需要進行預(yù)熱。確保這些資源在高峰期前得到充分預(yù)熱,以防止資源短缺或性能問題。

④機器巡檢。對底層物理機器進行必要的巡檢工作,包括檢查硬件是否存在風(fēng)險。如果發(fā)現(xiàn)風(fēng)險,可以進行硬件替換,以避免風(fēng)險在業(yè)務(wù)高峰期間爆發(fā)產(chǎn)生故障。

⑤聚合度管理。雖然服務(wù)架構(gòu)和底層資源已經(jīng)做到盡可能隔離,但在物理機視角上的資源聚合度仍需關(guān)注。之前曾遇到云商只掛了一臺物理機,但對我們系統(tǒng)影響很大,主要原因就是許多核心實例都部署在了這臺機器上,聚合度太高。因此,我們要求云商定期掃描聚合度,如果發(fā)現(xiàn)聚合度過高的情況,要提前進行資源打散操作。

⑥變更通知。盡管無法要求云商在業(yè)務(wù)高峰期封網(wǎng),但可以盡可能要求他們在此期間提前通知任何變更動作。這有助于提前準(zhǔn)備,出現(xiàn)問題后快速確認(rèn)及處理,縮短影響時長。

⑦應(yīng)急值班。貨拉拉與主要依賴的兩個云商都有相關(guān)的應(yīng)急溝通群,這些群組設(shè)在我們內(nèi)部的辦公聊天軟件上,以提高溝通效率,減少使用微信、釘釘?shù)榷鄠€平臺的麻煩。在一些重要的業(yè)務(wù)高峰期間(通常一年一兩次),還會要求云商提供駐場支持,確保得到最大力度的保障。

圖片

1.4 業(yè)務(wù)高峰保障的重點

最后再次回顧下整個保障思路中的兩個重點內(nèi)容。

圖片

1.4.1 項目組織

1)PMO 參與
必須高度重視項目組織工作。就像修建高樓需要各個工種通力合作一樣,項目的順利進行也需要專業(yè)的PMO人員。在貨拉拉,有專業(yè)的PMO團隊負責(zé)整體項目的組織與協(xié)調(diào),確保項目按計劃推進并統(tǒng)籌解決實施過程中的各種問題。
2)部門接口人機制
由于項目涉及的人員眾多,可采用接口人機制。項目組與各部門接口人對齊,再由接口人與部門內(nèi)部的具體實施者對接。這樣可以有效降低保障工作的復(fù)雜度,明確責(zé)任分工,提升溝通效率,確保信息準(zhǔn)確傳遞和任務(wù)順利執(zhí)行。

3)固定會議把控進度

確保項目例會制度嚴(yán)格執(zhí)行,以把控整體項目進展。通過定期例會,各部門可以及時溝通任務(wù)進展、分享工作經(jīng)驗、暴露過程風(fēng)險、提出訴求、協(xié)調(diào)資源配置等等,確保項目按計劃高質(zhì)量推進。

1.4.2 系統(tǒng)容量

另一個重點,作為系統(tǒng)工程師,在高峰來臨前應(yīng)當(dāng)特別重視系統(tǒng)容量風(fēng)險。業(yè)務(wù)高峰意味著流量的增加,如果系統(tǒng)健壯性不足,可能還有容錯空間,但如果容量不足,問題一定會發(fā)生。在容量方面,應(yīng)當(dāng)關(guān)注以下幾點:

1)打好提前量

不論是三方容量還是云商資源,如果這一點有疏漏,當(dāng)緊急需要資源時,將無計可施,大概率要犧牲業(yè)務(wù)或用戶體驗。

2)關(guān)注爬坡階段

與秒殺場景不同,貨拉拉的業(yè)務(wù)高峰在高峰當(dāng)日會有一個緩慢的爬坡過程。在這段黃金時間內(nèi)密切關(guān)注系統(tǒng)表現(xiàn),迅速發(fā)現(xiàn)并解決短板容量問題,可以大幅降低故障發(fā)生的概率。

3)為最壞的情況做好打算

如果容量保障做得不夠好,出了問題,需要準(zhǔn)備保大舍小,部分用戶可使用總比所有用戶都不能使用要好得多。例如,是否可以將流量做進一步限制,以確保系統(tǒng)容量水位健康,或者根據(jù)前期準(zhǔn)備進行必要的業(yè)務(wù)功能降級。哪怕業(yè)務(wù)因為降級而減半或者用戶體驗大幅受損,也比完全崩潰要好。

二、貨拉拉具體是怎么做的?效果如何?

2.1 業(yè)務(wù)高峰保障的策略

圖片

  • 首先,站在巨人的肩膀上,借鑒他人成功經(jīng)驗。如果完全靠自己摸索,效率會非常低。
  • 其次,有意識做好本土化工作。因為從他人那里學(xué)來的知識或方法,不一定完全適用于自己的情況。
  • 第三,必須不斷優(yōu)化。要通過不斷的復(fù)盤和優(yōu)化,確保每次都比上一次做得更好。
  • 最后,保持激情至關(guān)重要。采用一些運營手段來激發(fā)團隊的激情。相比簡單地下達指令驗收執(zhí)行效果,我們更傾向于激發(fā)大家的主動意識。所有人自發(fā)地為即將到來的業(yè)務(wù)高峰考慮要做什么,能帶來更好的結(jié)果。

2.2 策略落地

2.2.1 如何站在巨人的肩膀上?

我之前在阿里本地生活有幾年工作經(jīng)驗,因此借鑒了阿里雙11大促的保障經(jīng)驗,快速建立起了貨拉拉業(yè)務(wù)高峰保障的初步方案。這樣做的好處是,確保了整個保障工作覆蓋的顆粒度足夠細致。阿里的保障經(jīng)驗已經(jīng)經(jīng)過了大量優(yōu)化改良和實踐檢驗,可以有效避免重復(fù)別人已經(jīng)踩過的坑。

圖片

貨拉拉在業(yè)務(wù)穩(wěn)定性保障發(fā)展初期只提供了一些高峰保障的待辦事項列表,對問題的認(rèn)知不夠全面。現(xiàn)在已經(jīng)有了一套完整的保障框架體系,主要圍繞風(fēng)險預(yù)防和應(yīng)急快恢兩大主題開展。

2.2.2 如何做本土化改善?

我們在實踐過程中發(fā)現(xiàn),按照最初的一套方案執(zhí)行后,有些保障手段在貨拉拉的收益并不大,同時存在可能還沒有關(guān)注到一些風(fēng)險。因為相比電商大促,貨拉拉作為一個訂單撮合平臺,更關(guān)心供需特征訂單匹配。

圖片

展開說一下。業(yè)務(wù)高峰時,需求量通常比供給量要多很多。用戶下單量增長迅猛,但能夠承接的訂單的司機數(shù)量不會一下子增加,甚至還可能減少,比如在五一前,有些司機可能選擇休假。這種運力不足的情況非常明顯,直接導(dǎo)致系統(tǒng)里待配對的訂單越來越多。
對于待配對的訂單,我們的系統(tǒng)會有一些既有策略。例如,如果一個訂單發(fā)布后沒有人接單,系統(tǒng)會擴大搜索范圍,比如從10公里擴大到20公里,從而圈選到更多的司機重復(fù)推送這個訂單(實際策略要復(fù)雜很多)。所以在業(yè)務(wù)高峰運力不足場景下,系統(tǒng)的壓力增長是非常恐怖的,單純依靠擴容代價太大。
因此,我們將保障重心調(diào)整到了整個訂單調(diào)度系統(tǒng)的穩(wěn)定性保障上。在研發(fā)團隊出色完成架構(gòu)優(yōu)化的基礎(chǔ)上,結(jié)合著相關(guān)場景降級預(yù)案的梳理和演練,比如最嚴(yán)重的情況下可以完全關(guān)閉重推邏輯以降低系統(tǒng)負載,現(xiàn)在我們面對這種場景具備非常充足的信心。

2.3 具體實施

2.3.1 時空維度上的策劃(宏觀視角)

首先,我們會進行一個宏觀視角上的策劃。這個策劃工作主要是在年初時,就會列出全年會遇到的業(yè)務(wù)高峰和重大事件的時間表。這樣做的好處是,全年的保障工作計劃都能心中有數(shù),能夠提前規(guī)劃好在大概什么時間需要開展哪個業(yè)務(wù)高峰的保障工作,并給出消息提醒,避免遺漏。

圖片

2.3.1 圖1 - 貨拉拉全年大事件一覽表

其次,所有保障工作都會進行文檔沉淀,將相關(guān)信息統(tǒng)一存放在一個共享空間中,方便查閱。

圖片

2.3.2 項目視角下的管理(執(zhí)行落地)

從項目管理的視角出發(fā),確保整個保障團隊的構(gòu)成清晰明確。我們需要知道每個領(lǐng)域的接口人和負責(zé)人是誰,他們主要負責(zé)哪些內(nèi)容,以及整個領(lǐng)域的協(xié)作成員包括哪些人。

圖片

2.3.2 圖1 - 業(yè)務(wù)高峰保障組織

在明確了團隊成員和責(zé)任分配之后,我們會和各領(lǐng)域團隊成員進行溝通,商討制定保障方案,并進行KO會議。在會議中,我們會收集大家的反饋,看看方案中有哪些地方需要補充或改進。

圖片

2.3.2 圖2 - 業(yè)務(wù)高峰保障方案框架

隨后,PMO會設(shè)立一個項目進度看板,用來跟進整個項目的進度和完成情況。

圖片

2.3.2 圖3 - 業(yè)務(wù)高峰保障項目進度看板

2.3.3 組織運營提振士氣

高峰當(dāng)日,我們會有一個被稱為“小黑屋”的作戰(zhàn)室。在這里,會確定關(guān)鍵人員的名單、時間安排,以及一些物資的準(zhǔn)備工作。這些準(zhǔn)備工作包括為團隊成員安排下午茶等福利,以確保他們在緊張的工作中也能得到適當(dāng)?shù)男菹⒑蜖I養(yǎng)補充。

圖片

其次,在保障工作結(jié)束后,我們也會注重儀式感。PMO會提前準(zhǔn)備一些物料,比如橫幅、KT板等,組織大家一起進行合影留念。這樣的活動不僅能夠增強團隊的凝聚力,也能讓團隊成員對參與高壓力工作的辛苦付出有一個難忘的回憶。

圖片

2.2.4 復(fù)盤總結(jié)更進一步

在業(yè)務(wù)高峰過后,第一件事就是開展全面的復(fù)盤總結(jié)工作。

首先,我們會回顧目標(biāo)達成情況。

圖片

接下來,我們會進行兩個重要分析:
1)對每一個保障子項進行深入分析。檢查保障的目標(biāo)是否達成,以及在治理過程中是否存在可以后續(xù)優(yōu)化的點。

圖片

2)收集復(fù)盤參與方的反饋和建議,幫助我們識別出后續(xù)改進項。這些改進項將被跟蹤并反饋到下一次的保障工作中。

圖片

2.2.5 踩過的一些坑

貨拉拉在業(yè)務(wù)高峰保障過程中,也遇到了一些教訓(xùn)——

  1. 只關(guān)注研發(fā)服務(wù)發(fā)布配置變更,結(jié)果因為其他領(lǐng)域的變更出了問題。之前在封網(wǎng)前只關(guān)注了研發(fā)自己服務(wù)的發(fā)布和配置變更。但問題卻出在了其他領(lǐng)域的變更上,比如運營的一些配置變更,或者是業(yè)務(wù)上的AB實驗變更,包括安全策略等的變更。后續(xù)我們把這類變更也被納入了整個保障范圍。

  2. 有個服務(wù)和業(yè)務(wù)流量負相關(guān),結(jié)果出現(xiàn)在了待擴容名單里。我們在容量管理方面一直做得還不錯,但在成本控制方面,確實也經(jīng)歷了一些摸索。比如有一個服務(wù)實際上與業(yè)務(wù)流量負相關(guān),即業(yè)務(wù)單量越多,它的壓力反而越小。這個服務(wù)和訂單熱力圖有關(guān),而訂單熱力圖的作用是告訴司機哪里更容易接到訂單。但在業(yè)務(wù)高峰時,司機其實并不缺單子,因此對熱力圖的訪問量并不大。后來,我們對這類服務(wù)實施了更精細化的管理。
  3. 縮容的時候沒有精打細算,如果縮掉特定的服務(wù)器,能更省錢。在縮容時,需要注意的不僅僅是擴容后的機器要縮容回來,更重要的是要思考縮容哪些機器才能更節(jié)省成本。因為擴容時擴的是新機器,但縮容時,并不一定非得縮容這些新擴的機器,而是可以選擇已經(jīng)在使用中的機器。這樣做會涉及到一些成本計算規(guī)則,能夠幫助節(jié)省更多的成本。在這方面,我們有專業(yè)的云成本團隊來幫助我們進行管控。

3.3 業(yè)務(wù)高峰保障成效

經(jīng)過2020年至今3年多時間的建設(shè),貨拉拉已經(jīng)具備了非常成熟的業(yè)務(wù)高峰保障能力。截止目前,貨拉拉技術(shù)穩(wěn)定性團隊已累計發(fā)起34次業(yè)務(wù)高峰保障;且2021年至今,貨拉拉業(yè)務(wù)高峰期間已連續(xù)3年保持0故障水平。同時,業(yè)務(wù)高峰保障也幫助強化了日常穩(wěn)定性水平,貨拉拉全年故障數(shù)也在逐年下降。

圖片

3.3 圖 - 貨拉拉全年故障數(shù)逐年下降

三、總結(jié)與展望

未來的目標(biāo)之一是逃不掉的降本增效,我們主要關(guān)注兩方面的成本——

  1. 資源成本。各系統(tǒng)擴容資源的精細化管理;極致把控服務(wù)器資源使用天數(shù),明確資源回收對象;
  2. 人力成本。加強各保障工作的工具化能力;關(guān)注多平臺間的聯(lián)動,打造流水線式的穩(wěn)定性保障產(chǎn)品生態(tài)。

另一個目標(biāo)是實現(xiàn)高峰保障的日?;?。每次高峰保障都是對整體技術(shù)穩(wěn)定性的一次加固,也是對日常治理工作的一次反哺。未來在提效的基礎(chǔ)上,應(yīng)該把風(fēng)險識別風(fēng)險治理手段放到每一天來做,自然可以極大提高全年系統(tǒng)穩(wěn)定性水平。


我要咨詢