作者:京東零售 京東零售
一、大數(shù)據(jù)雙流建設(shè)
1.1 數(shù)據(jù)雙流
大數(shù)據(jù)時代,越來越多的業(yè)務(wù)依賴實時數(shù)據(jù)用于決策,比如促銷調(diào)整,點擊率預(yù)估、廣告分傭等。為了保障業(yè)務(wù)的順利開展,也為了保證整體大數(shù)據(jù)鏈路的高可用性,越來越多的0級系統(tǒng)建設(shè)雙流,以保證日常及大促期間數(shù)據(jù)流的穩(wěn)定性。建設(shè)核心數(shù)據(jù)鏈路雙機(jī)房,雙流雙活。同時雙流建設(shè)需要整條鏈路上的所有環(huán)節(jié)雙機(jī)房部署,占用了雙倍的物理資源;整個建設(shè)過程要協(xié)同上下游各環(huán)節(jié)(數(shù)據(jù)生產(chǎn)方、數(shù)倉加工方、中間處理節(jié)點、業(yè)務(wù)消費方),也會消耗大量的溝通建設(shè)成本。為了達(dá)到資源消耗和業(yè)務(wù)穩(wěn)定性的平衡,特制定雙流建設(shè)標(biāo)準(zhǔn)和實施流程以引導(dǎo)業(yè)務(wù)方合理評估雙流需求,順利開展雙流建設(shè)實施。
1.2 數(shù)據(jù)雙流的建設(shè)評估維度和標(biāo)準(zhǔn)
編號 | 維度 | 評估標(biāo)準(zhǔn) | 標(biāo)準(zhǔn)定義 & 備注 |
1 | 系統(tǒng)等級 | 0級系統(tǒng) | 0級系統(tǒng)為公司最核心的業(yè)務(wù)服務(wù)系統(tǒng),一旦發(fā)生不可用會直接影響黃金交易流程或影響公司名譽、品牌、集團(tuán)戰(zhàn)略、營銷計劃等,可能造成P0-P2級事故發(fā)生。0級系統(tǒng)的定義以零售子集團(tuán)線上事故定級、定責(zé)及扣分標(biāo)準(zhǔn)中4.1-4.2定義為準(zhǔn)。0級系統(tǒng)會在服務(wù)器資源和人力資源方面有傾斜,但0級系統(tǒng)要確保高可用,會與事故級別緊密關(guān)聯(lián)。 |
2 | 任務(wù)等級 | L0實時任務(wù) | 服務(wù)線上0級系統(tǒng)的任務(wù)具體任務(wù)等級細(xì)側(cè)參見實時數(shù)據(jù)平臺作業(yè)分級管理規(guī)范協(xié)議等級設(shè)置參考說明。 |
3 | 物理資源 | 業(yè)務(wù)方申請并且承擔(dān)雙流建設(shè)所需要的物理資源消耗物理資源成本合理。備流按照主流80%的承載量建設(shè)(資源的80%) | 業(yè)務(wù)方需要提供具體的物理資源信息:a. 物理資源成本包括存儲資源、計算資源、帶寬、隊列資源等。b. 涵蓋上游生產(chǎn)系統(tǒng)存儲、數(shù)倉加工方、中間處理節(jié)點、業(yè)務(wù)消費方等各個環(huán)節(jié)。c. 評估流量和交易兩個方面 |
4 | 數(shù)據(jù)時效性 | 大促0點(或?qū)?yīng)相應(yīng)業(yè)務(wù)高峰點)數(shù)據(jù)時效性要求<=20分鐘 或平時數(shù)據(jù)時效性要求<=40分鐘 |
? |
5 | 數(shù)據(jù)峰值 | 大促峰值預(yù)估(交易、流量)平時峰值預(yù)估(交易、流量) | 數(shù)據(jù)峰值作為主要的參考,但是新系統(tǒng)在沒有數(shù)據(jù)參考情況下,會根據(jù)業(yè)務(wù)是否是集團(tuán)戰(zhàn)略這一條做適當(dāng)調(diào)整。其它條件滿足,但是數(shù)據(jù)峰值很小的情況下,一般不建議雙流,特殊情況另討論。 |
6 | 生產(chǎn)源 | 生產(chǎn)源必須是雙機(jī)房部署 |
? |
7 | 業(yè)務(wù)場景 | 數(shù)據(jù)缺失會造成XX級事故 | 業(yè)務(wù)方提供完整的業(yè)務(wù)場景和發(fā)生故障時的影響以幫助評估 |
二、大數(shù)據(jù)雙流憋壩高保真壓測
2.1 雙流憋壩壓測
從21年大促備戰(zhàn)開始,大數(shù)據(jù)側(cè)核心數(shù)據(jù)鏈路,從單模塊單任務(wù)的壓測,轉(zhuǎn)向全鏈路憋壩壓測,把泄洪閘口上移,壓測范圍覆蓋更廣,流量和交易同時泄洪,高保真大促網(wǎng)絡(luò)峰值,資源競爭場景,同時數(shù)據(jù)產(chǎn)品(黃金眼、商智、作戰(zhàn)指揮室大屏)會在泄洪時同時進(jìn)行讀查詢的壓測,模擬大促讀寫峰值并行的真實大促場景。
2.2 雙流憋壩的壓測目標(biāo)制定
(1) 壓測目標(biāo)設(shè)定,一般會參照歷史峰值和市場預(yù)估,給出核心交易、流量主題鏈路峰值預(yù)估,例如22年雙11的1.2倍。關(guān)鍵的數(shù)據(jù)流topic,會給出預(yù)估消費峰值供下游參考,如下表格所示(數(shù)據(jù)涉及保密不做詳細(xì)展示)
2.3 雙流憋壩的壓測方案
(1)交易的憋壩方式,通過停止同步任務(wù)憋單 ,交易雙流架構(gòu)圖如下所示:
(2)流量的憋壩方式,流量無損憋壩壓測是通過停止采集服務(wù)寫JDQ寫集群的方式憋流,不參與壓測的業(yè)務(wù)方,可以切換到“JDQ4瀾滄江_點擊流新建流”(壓測期間新建JDQ寫集群),保證下游業(yè)務(wù)可以在憋流壓測期間,正常消費流量實時數(shù)據(jù),做到無損。
2.4 雙流憋壩壓測規(guī)范
(1)全鏈路壓測的具體憋單、憋流開始時間以及泄洪時間,每次壓測前,會提前24~48小時發(fā)出通知(郵件+工作群),通知發(fā)出后,泄洪時間不再調(diào)整
(2)全鏈路壓測會進(jìn)行集團(tuán)報備,避開重要促銷活動,壓測要避開存儲(hbase、jimdb、ES)、JDQ、JRC 等自身的災(zāi)備演練,以免無效壓測
2.5 失真場景的高保真壓測
平時訂單中預(yù)售訂單占比過低,預(yù)售訂單 平日峰值/大促峰值=0.05%~5.9%,峰值也無法達(dá)到要求,且不能指定場景,例如付定金和付尾款場景。所以預(yù)售訂單無法在雙流憋壩壓測中實現(xiàn)高保真,所以做了大數(shù)據(jù)預(yù)售鏈路的整體改造,聯(lián)合在線軍演壓測(業(yè)務(wù)生產(chǎn)系統(tǒng)的壓測)實現(xiàn)預(yù)售鏈路的高保真壓測補充
落地方案:軍演負(fù)責(zé)提供預(yù)售訂單數(shù)據(jù)和付定金付尾款場景,大數(shù)據(jù)鏈路進(jìn)行改造兼容壓測進(jìn)行數(shù)據(jù)壓測且不污染線上數(shù)據(jù)
如下圖所示: 黃色部分為在線軍演提供數(shù)據(jù)的對應(yīng)存儲——影子庫表 。綠色部分為壓測新增,最上層為壓測數(shù)據(jù)源(JMQ/JDQ) ,下面是為了壓測搭建的透傳壓測環(huán)境以及寫影子存儲。黃金眼預(yù)售通用源和商智預(yù)售交易通用源對應(yīng)任務(wù)改成雙進(jìn)雙出,同時可以處理線上數(shù)據(jù)源和壓測數(shù)據(jù)源,線上數(shù)據(jù)寫入線上輸出topic和線上存儲。 壓測數(shù)據(jù)源的數(shù)據(jù)處理后輸出壓測數(shù)據(jù)的topic,寫入影子存儲。這樣線上拓?fù)洳挥秒S著每次壓測改動,同時,下游業(yè)務(wù)方也可以靈活選擇是否參與壓測。
三、大數(shù)據(jù)憋壩壓測期間,業(yè)務(wù)方的遷移方案
3.1 雙流憋壩壓測對于業(yè)務(wù)方的影響
在大數(shù)據(jù)雙流壓測的憋流和憋單期間,憋流和憋單對應(yīng)的機(jī)房(匯天/廊坊)無實時數(shù)據(jù)下發(fā),泄洪后恢復(fù)。不參與壓測的業(yè)務(wù)方,需要做對應(yīng)的切換。
3.2 不參與壓測的業(yè)務(wù)方的遷移方案
(1)切換集群:
A、交易不涉及,交易從源頭topic都是雙流雙活,業(yè)務(wù)可以切換消費到不壓測機(jī)房對應(yīng)的topic即可
B、流量直接消費點擊流吐出的topic,需要切換到無損壓測集群“JDQ4瀾滄江_點擊流新建流”。本次切換集群,支持一鍵遷移,不用重啟任務(wù),要使用這次功能,需要升級jdq-sdk,jdq sdk版本是jdq4-clients:1.3.0-SNAPSHOT flink:1.10/1.12/1.14-1.0.9-SNAPSHOT。如果遷移過程中看不到集群“JDQ4瀾滄江_點擊流新建流”,可以聯(lián)系平運維同學(xué)支持
(2)切換topic鑒權(quán)
A、交易是雙流,廊坊和匯天都有對應(yīng)的topic,不參與壓測的業(yè)務(wù)方可以申請,消費非壓測機(jī)房對應(yīng)的topic即可
B、流量不是消費采集服務(wù)直接吐出的topic,消費的是流量實時數(shù)倉及以下鏈路的topic,也是雙流雙活,切換消費到非壓測機(jī)房對應(yīng)的topic即可。
?
大數(shù)據(jù)雙流憋壩壓測(方案、影響、業(yè)務(wù)方遷移方案)——內(nèi)部版本(這部分對外部保密不能發(fā)布,外網(wǎng)發(fā)布的時候這部分不需要,前面就是完整版本)
一、大數(shù)據(jù)雙流憋壩簡介
1.1 數(shù)據(jù)雙流
大數(shù)據(jù)時代,越來越多的業(yè)務(wù)依賴實時數(shù)據(jù)用于決策,比如促銷調(diào)整,點擊率預(yù)估、廣告分傭等。為了保障業(yè)務(wù)的順利開展,也為了保證整體大數(shù)據(jù)鏈路的高可用性,越來越多的0級系統(tǒng)建設(shè)雙流,以保證日常及大促期間數(shù)據(jù)流的穩(wěn)定性。建設(shè)核心數(shù)據(jù)鏈路雙機(jī)房,雙流雙活。同時雙流建設(shè)需要整條鏈路上的所有環(huán)節(jié)雙機(jī)房部署,占用了雙倍的物理資源;整個建設(shè)過程要協(xié)同上下游各環(huán)節(jié)(數(shù)據(jù)生產(chǎn)方、數(shù)倉加工方、中間處理節(jié)點、業(yè)務(wù)消費方),也會消耗大量的溝通建設(shè)成本。為了達(dá)到資源消耗和業(yè)務(wù)穩(wěn)定性的平衡,特制定雙流建設(shè)標(biāo)準(zhǔn)和實施流程以引導(dǎo)業(yè)務(wù)方合理評估雙流需求,順利開展雙流建設(shè)實施,詳細(xì)參見:雙流建設(shè)評估標(biāo)準(zhǔn)?
1.2 大數(shù)據(jù)雙流憋壩壓測
從21年大促備戰(zhàn)開始,大數(shù)據(jù)側(cè)核心數(shù)據(jù)鏈路,從單模塊單任務(wù)的壓測,轉(zhuǎn)向全鏈路憋壩壓測,把泄洪閘口上移,壓測范圍覆蓋更廣,訂單和交易同時泄洪,高保真大促網(wǎng)絡(luò)峰值,資源競爭場景,同時數(shù)據(jù)產(chǎn)品(黃金眼、商智、作戰(zhàn)指揮室大屏)會在泄洪時同時進(jìn)行讀查詢的壓測,模擬大促讀寫峰值并行的真實大促場景
1.3 大數(shù)據(jù)憋壩與軍演的關(guān)系
(1)軍演,是針對生產(chǎn)業(yè)務(wù)系統(tǒng)的壓測,主要涵蓋首頁、搜索、列表、商詳、活動、購物車、結(jié)算頁、訂單、優(yōu)惠券、禮品卡、支付、網(wǎng)關(guān)、OFC、物流、售后及依賴的上游動態(tài)系統(tǒng)。壓測所用的sku是測試sku,壓測的訂單會打sendpay140=2或者3的標(biāo)識,不會污染線上真實數(shù)據(jù)。
(2)大數(shù)據(jù)憋壩,是從停止同步任務(wù)開始,憋真實的線上流量,達(dá)到一定的量后,泄洪,所有壓測數(shù)據(jù)都是真實線上數(shù)據(jù)。
(3)大數(shù)據(jù)憋壩與軍演的關(guān)系:
A、軍演壓測數(shù)據(jù)不會影響大數(shù)據(jù)鏈路
B、大數(shù)據(jù)泄洪的時間,需要避開軍演起量的時間,否則源頭訂單源泄洪會有拖尾
C、對于預(yù)售這種平時憋單,無法達(dá)到大促場景和量級的特殊訂單場景,軍演與大數(shù)據(jù)會做聯(lián)合高保真壓測
審核編輯 黃宇
-
機(jī)房
+關(guān)注
關(guān)注
0文章
429瀏覽量
17139 -
鏈路
+關(guān)注
關(guān)注
1文章
69瀏覽量
13994 -
大數(shù)據(jù)
+關(guān)注
關(guān)注
64文章
8882瀏覽量
137396
發(fā)布評論請先 登錄
相關(guān)推薦
評論