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