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