久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

Flink核心概念與實時數(shù)倉落地:從時間語義到檢查點實戰(zhàn)解析

Flink核心概念與實時數(shù)倉落地:從時間語義到檢查點實戰(zhàn)解析 開頭先聊點實際的。我做了幾年數(shù)倉開發(fā)接觸Flink之前一直有個錯覺覺得這是搞實時計算的團隊才需要碰的東西離線數(shù)倉每天跑批、出報表跟流式計算八竿子打不著。直到某公司內(nèi)部的實時數(shù)倉項目落地我才發(fā)現(xiàn)自己對Flink的認知完全不夠用——離線數(shù)倉那套“T1”的思路在實時場景里根本行不通而Flink恰恰補上了這塊短板?,F(xiàn)在回頭看數(shù)倉開發(fā)工程師不懂Flink概念就像寫后端不懂緩存一樣遲早會在業(yè)務(wù)面前吃癟。這篇文章我會圍繞數(shù)倉開發(fā)中Flink的核心概念展開把時間語義、Watermark、窗口、狀態(tài)、檢查點這些繞不開的東西講清楚也會聊聊實時數(shù)倉分層設(shè)計、Flink SQL實操、維表關(guān)聯(lián)、CDC入倉這些落地時要面對的問題。內(nèi)容不追求面面俱到但保證是實際開發(fā)中真正常用的那部分。適合兩類人看一是剛接觸實時數(shù)倉、想弄明白Flink到底解決了什么問題的新手二是在離線數(shù)倉待了幾年、想轉(zhuǎn)實時方向但被一堆概念勸退的開發(fā)。1. 先搞清楚Flink在數(shù)倉開發(fā)里到底扮演什么角色1.1 數(shù)倉開發(fā)口中的“Flink”通常指什么很多做數(shù)倉的同學(xué)第一次接觸Flink是從“實時計算”這四個字開始的。但Flink本身不是一個黑盒的實時計算引擎它是一個分布式處理引擎既能處理無界流數(shù)據(jù)也能處理有界批數(shù)據(jù)。所謂無界流就是數(shù)據(jù)一直在產(chǎn)生、永遠沒有終點比如用戶點擊日志、訂單流水、交易明細有界數(shù)據(jù)就是我們熟悉的離線批次比如前一天的訂單表、用戶表。Flink在兩套場景下都能跑這也是它和其他計算引擎最大的差異點。早期我們做數(shù)倉離線用Hive跑SQL實時用Spark Streaming或者Storm兩套引擎、兩套代碼、兩套運維邏輯。Flink出現(xiàn)之后一套引擎可以同時處理批和流代碼層面還能做到流批共享同一套邏輯這就是常說的“流批一體”。對數(shù)倉開發(fā)來說這意味著不用再維護兩套計算體系學(xué)習(xí)成本、維護成本都在降。但實際落地時要清醒一點流批一體不是說你寫一份代碼就萬事大吉。批處理可以基于完整數(shù)據(jù)集做全局計算流處理面對的是源源不斷的數(shù)據(jù)天然要處理亂序、遲到、窗口計算這些問題。Flink只是提供了統(tǒng)一的編程模型和底層能力具體怎么設(shè)計作業(yè)還是要靠開發(fā)自己對業(yè)務(wù)的理解。1.2 數(shù)倉里Flink的典型用武之地數(shù)倉開發(fā)接觸Flink最常見的場景集中在下面幾個方向。第一個是實時ETL。離線ETL是把數(shù)據(jù)從源端抽到數(shù)倉清洗、轉(zhuǎn)換、加載T1產(chǎn)出。實時ETL就是把這個過程縮短到秒級甚至毫秒級數(shù)據(jù)從業(yè)務(wù)庫或日志系統(tǒng)產(chǎn)生后經(jīng)過Flink作業(yè)清洗過濾直接寫入下游的Kafka主題或者實時數(shù)倉存儲。比如訂單數(shù)據(jù)產(chǎn)生后要從JSON串里抽取關(guān)鍵字段、補上維度信息、過濾掉無效數(shù)據(jù)再轉(zhuǎn)發(fā)給下游使用方。第二個是維表關(guān)聯(lián)。實時業(yè)務(wù)場景里訂單流通常只包含訂單ID、商品ID、用戶ID這類主鍵但下游指標計算需要商品名稱、類目、用戶等級這些維度信息。Flink SQL里可以通過維表關(guān)聯(lián)把維度字段補全到主流上這是離線數(shù)倉里JOIN維表的實時版本。第三個是實時指標計算。GMV、DAU、下單轉(zhuǎn)化率、實時庫存這些指標如果等離線任務(wù)算完再出業(yè)務(wù)基本沒法用。Flink可以基于事件時間做窗口聚合每五分鐘、每十分鐘輸出一次實時結(jié)果業(yè)務(wù)側(cè)拿到的數(shù)據(jù)接近實時。第四個是CDC數(shù)據(jù)入倉。業(yè)務(wù)數(shù)據(jù)庫的變更數(shù)據(jù)通過CDC工具捕獲發(fā)送到KafkaFlink消費后解析成統(tǒng)一格式寫入數(shù)據(jù)湖或數(shù)倉存儲。這也是近幾年實時數(shù)倉建設(shè)里很熱的鏈路后面細說。1.3 流批一體為什么成了必選項流批一體這個概念在前幾年還是個趨勢現(xiàn)在已經(jīng)成了數(shù)倉建設(shè)的基本要求。原因很樸素業(yè)務(wù)不希望同一套邏輯在實時和離線算出來結(jié)果不一致。我踩過的坑就是典型例子。某次做用戶留存指標離線鏈路用Hive SQL口徑統(tǒng)計實時鏈路用Flink SQL實現(xiàn)兩邊代碼是不同人寫的join邏輯、去重方式有細微差異結(jié)果T1的數(shù)和對不上實時趨勢數(shù)業(yè)務(wù)方追著問哪個準。最后只能靠人工校準效率很低。流批一體的價值就在這里Flink SQL的語法體系同時面向批和流同樣的SQL邏輯跑在批模式產(chǎn)出的結(jié)果和跑在流模式產(chǎn)出的結(jié)果在語義上保持一致。你寫一遍邏輯既可以在凌晨跑批任務(wù)補全歷史數(shù)據(jù)也可以在白天跑流任務(wù)處理實時數(shù)據(jù)省去了兩套口徑對齊的痛苦。當(dāng)然說“保持一致”是理論層面實際使用中還是有一些細節(jié)差異需要注意后面講時間語義和狀態(tài)時會提到。2. 數(shù)倉開發(fā)必須掌握的核心概念2.1 時間語義處理時間還是事件時間Flink里最基礎(chǔ)也最容易讓數(shù)倉開發(fā)暈掉的概念就是時間語義。它分為兩種Processing Time處理時間和 Event Time事件時間。處理時間指的是數(shù)據(jù)到達Flink作業(yè)時處理算子所在機器的系統(tǒng)時間。這個時間跟數(shù)據(jù)本身沒關(guān)系數(shù)據(jù)早到晚到都會取當(dāng)前系統(tǒng)時間。事件時間指的是數(shù)據(jù)產(chǎn)生的時間通常由業(yè)務(wù)系統(tǒng)寫入數(shù)據(jù)中的某個字段。比如訂單日志里記錄的“下單時間”用戶點擊行為里記錄的“點擊時間”。離線數(shù)倉里我們習(xí)慣用業(yè)務(wù)時間做統(tǒng)計比如算某天的GMV口徑肯定是“下單時間屬于那天”的數(shù)據(jù)。實時場景如果直接用處理時間問題就大了——數(shù)據(jù)在網(wǎng)絡(luò)傳輸、Kafka緩沖、算子處理過程中都會產(chǎn)生延遲凌晨下單的數(shù)據(jù)可能早上九點才到達Flink作業(yè)你要是按處理時間統(tǒng)計這筆訂單就算到了早上的窗口里結(jié)果就錯了。所以實時數(shù)倉開發(fā)里口徑正確的核心是事件時間。Flink作業(yè)要從數(shù)據(jù)里抽出事件時間字段用它驅(qū)動窗口計算。這也是為什么Flink要求數(shù)據(jù)源里必須有一個能代表業(yè)務(wù)時間的字段沒有的話只能退而求其次用處理時間但結(jié)果精度就要打折。2.2 Watermark與亂序數(shù)據(jù)處理說事件時間就繞不開Watermark。簡單理解Watermark是Flink用來判斷“數(shù)據(jù)遲到到什么程度就不再等了”的機制。流式數(shù)據(jù)天生亂序業(yè)務(wù)系統(tǒng)產(chǎn)生數(shù)據(jù)的時間有先后但到達Flink作業(yè)的時間可能是亂的。比如訂單A在10:00:01產(chǎn)生訂單B在10:00:02產(chǎn)生但網(wǎng)絡(luò)抖動導(dǎo)致B先到、A后到。如果你的窗口是10:00:00到10:00:10Flink不可能永遠等下去因為數(shù)據(jù)流是無界的你不往下走結(jié)果永遠出不來。Watermark機制解決的就是這個問題。作業(yè)會維護一個Watermark值表示“事件時間早于這個值的數(shù)據(jù)都已經(jīng)到達了”。比如Watermark推進到10:00:08就認為10:00:08之前的亂序數(shù)據(jù)都來了可以關(guān)窗計算。那10:00:08之后又來的遲到數(shù)據(jù)怎么辦可以配置allowedLateness給窗口留一段等待時間還可以把遲到數(shù)據(jù)單獨輸出到側(cè)輸出流里處理。實際開發(fā)里設(shè)定Watermark要平衡兩個訴求等太久會拖慢實時性等太短會導(dǎo)致數(shù)據(jù)遺漏。我的經(jīng)驗是先摸清數(shù)據(jù)源在正常情況下的延遲分布看95分位或者99分位的延遲是多少Watermark偏移量可以設(shè)置為比這個稍大一點。如果業(yè)務(wù)對精確度要求高可以適當(dāng)多等但也別過頭否則實時指標的“實時”就名存實亡了。2.3 窗口實時數(shù)倉的“批次”邏輯離線數(shù)倉天生有批次概念數(shù)據(jù)按天分區(qū)跑批就是處理一個分區(qū)的數(shù)據(jù)。流式計算沒有自然邊界數(shù)據(jù)一直在跑必須有機制把無界流切成一段一段有界的集合這就是窗口。Flink里常用的是滾動窗口Tumbling Window、滑動窗口Sliding Window、會話窗口Session Window。滾動窗口是把數(shù)據(jù)按固定時間長度切分窗口之間互不重疊比如每5分鐘一個窗口第一個窗口收集10:00到10:05的數(shù)據(jù)第二個窗口收集10:05到10:10的數(shù)據(jù)?;瑒哟翱谑敲扛粢欢螘r間滑動一次窗口長度可以大于滑動步長數(shù)據(jù)會在多個窗口里被重復(fù)計算適合看“過去10分鐘的累計值每隔1分鐘更新一次”這類需求。會話窗口根據(jù)數(shù)據(jù)活躍間隙切分如果數(shù)據(jù)停了超過指定時間就結(jié)束當(dāng)前窗口適合分析用戶訪問會話。數(shù)倉開發(fā)剛上手時最容易踩的坑是把窗口當(dāng)成離線SQL里的GROUP BY。離線分組是把完整數(shù)據(jù)集按維度聚合窗口只是把無界流切塊再在塊內(nèi)做聚合。窗口的劃分是基于事件時間還是處理時間直接決定結(jié)果是否準確這又回到了前面講的時間語義。另外窗口內(nèi)做聚合要留意狀態(tài)的獲取方式。Flink SQL的窗口聚合語法比較簡潔比如用TUMBLE(time_attr, INTERVAL 5 MINUTE)定義五分鐘滾動窗口但底層會為每個窗口保存狀態(tài)窗口數(shù)量太多時狀態(tài)壓力會很大。如果業(yè)務(wù)允許盡量用較大的窗口粒度減少狀態(tài)量。2.4 狀態(tài)與狀態(tài)后端Flink的“內(nèi)存賬本”狀態(tài)這個概念離線數(shù)倉開發(fā)一開始不太容易理解因為離線任務(wù)是無狀態(tài)的——Hive跑SQL輸入一批數(shù)據(jù)輸出一批結(jié)果任務(wù)結(jié)束就沒有然后了。Flink作業(yè)不同它是長期運行的同一個作業(yè)要處理連續(xù)不斷的數(shù)據(jù)流算子需要記住一些信息這些信息就是狀態(tài)。舉個例子實時計算用戶的累計消費金額你要記住每個用戶當(dāng)前已經(jīng)消費了多少每來一條新訂單就在原值上加一下這個“當(dāng)前累計值”就是狀態(tài)。再比如去重統(tǒng)計每日活躍用戶你要記住今天已經(jīng)看到哪些用戶了才能決定新來的用戶要不要計入DAU這個“已見用戶集合”也是狀態(tài)。數(shù)倉開發(fā)做實時計算一定要有狀態(tài)管理的意識因為狀態(tài)的大小直接決定作業(yè)能不能長期穩(wěn)定運行。默認情況下狀態(tài)存在內(nèi)存里訪問快但容量有限狀態(tài)太大會導(dǎo)致內(nèi)存溢出這時可以換成RocksDB狀態(tài)后端把狀態(tài)落到磁盤容量大得多但讀寫速度略慢。實際項目里幾GB以下的內(nèi)存狀態(tài)還行往上走基本都要切RocksDB。狀態(tài)還需要定期清理。無限增長的KeyedState如果一直不清理作業(yè)會越來越慢最終OOM。解決辦法是給狀態(tài)設(shè)置TTL比如用戶維表狀態(tài)保留24小時超過時間的key自動過期這樣狀態(tài)體積能控制在一定范圍內(nèi)。2.5 檢查點與精確一次語義提到Flink大家還會經(jīng)常聽到“精確一次語義Exactly-Once”和“檢查點Checkpoint”。理解這兩個概念對定位數(shù)據(jù)重復(fù)或丟失問題很有幫助。先通俗解釋精確一次。上游數(shù)據(jù)源在故障恢復(fù)時可能會重新發(fā)送已發(fā)送過的數(shù)據(jù)如果Flink作業(yè)不處理這種重復(fù)那聚合結(jié)果就會多算一條。Flink通過“檢查點機制 端到端的事務(wù)性寫入”盡可能保證每條數(shù)據(jù)只對結(jié)果產(chǎn)生一次影響這就是精確一次。注意這里我說“盡可能”因為端到端的精確一次還依賴下游存儲和上游數(shù)據(jù)源的配合比如Kafka支持事務(wù)、數(shù)據(jù)源支持回放鏈路里任何一環(huán)不支持整體就只能退化為At-Least-Once至少一次結(jié)果就可能出現(xiàn)重復(fù)。檢查點是Flink用來實現(xiàn)數(shù)據(jù)一致性的核心機制。作業(yè)會周期性生成一個快照記錄當(dāng)前處理到的數(shù)據(jù)位置和各算子狀態(tài)類似離線數(shù)倉的“數(shù)據(jù)備份”。當(dāng)作業(yè)發(fā)生故障重啟時可以從最近的檢查點恢復(fù)之前處理完的數(shù)據(jù)不用重算這個恢復(fù)機制叫“從檢查點恢復(fù)”。我用通俗的類比講一下檢查點相當(dāng)于游戲存檔打到一半掛了不用從頭開始直接讀檔繼續(xù)。沒有檢查點的話Flink作業(yè)掛掉重啟要么丟數(shù)據(jù)、要么全量重算在實時場景里都是不可接受的。實際配置時要注意檢查點生成頻率和間隔太頻繁會占用IO影響性能太稀疏會導(dǎo)致恢復(fù)時重放大量數(shù)據(jù)。常用策略是設(shè)置1到3分鐘一個檢查點同時開啟“非對齊檢查點”選項處理背壓場景這些配置在項目里跑了很久驗證下來是比較穩(wěn)的。3. 落地到數(shù)倉業(yè)務(wù)的實操要點3.1 實時數(shù)倉分層怎么設(shè)計離線數(shù)倉有ODS、DWD、DWS、ADS分層實時數(shù)倉也沿用了類似思路但實現(xiàn)方式和細節(jié)差異明顯。實時數(shù)倉的ODS層通常是Kafka里的原始主題。業(yè)務(wù)日志經(jīng)采集工具進入KafkaFlink作業(yè)直接消費這些原始數(shù)據(jù)做最基礎(chǔ)的格式解析輸出到Kafka的ODS主題。注意ODS層不建議放太多業(yè)務(wù)邏輯保持原始方便后續(xù)回溯和重新加工。DWD層做清洗和維度補充。比如訂單數(shù)據(jù)要過濾掉測試訂單、退款訂單要解析JSON字段、把時間字段標準化還可以通過維表關(guān)聯(lián)補上商品和用戶維度信息處理完的數(shù)據(jù)落到Kafka的DWD主題。這一層是實時數(shù)倉里工作量最大的環(huán)節(jié)大量Flink SQL作業(yè)集中在這一層。DWS層做匯總。按業(yè)務(wù)需要的維度做輕度聚合比如每分鐘的訂單數(shù)、銷售額、活躍用戶數(shù)產(chǎn)出到Kafka或者StarRocks、Doris這類OLAP存儲。ADS層直接對接業(yè)務(wù)應(yīng)用比如實時大屏、實時報表、實時告警數(shù)據(jù)從DWS層查詢或進一步加工。這套分層設(shè)計最大的好處是復(fù)用。DWD層的數(shù)據(jù)經(jīng)過清洗補全后下游多個應(yīng)用可以共享同一份高質(zhì)量數(shù)據(jù)避免每個應(yīng)用各寫一套解析邏輯導(dǎo)致口徑不一致。這一點和離線數(shù)倉的“統(tǒng)一出口”思路是一致的。3.2 Flink SQL開發(fā)的核心實操現(xiàn)在實時數(shù)倉開發(fā)的主力語言是Flink SQL比DataStream API上手門檻低很多對從Hive SQL轉(zhuǎn)過來的數(shù)倉開發(fā)尤其友好。一份典型的Flink SQL作業(yè)邏輯通常分三步建源表、建目標表、寫插入語句。建源表要指定連接器類型、Kafka地址、topic、數(shù)據(jù)格式、事件時間字段和Watermark策略。比如消費訂單數(shù)據(jù)可以在CREATE TABLE語句里定義字段然后根據(jù)訂單時間字段聲明Watermark延遲時間設(shè)30秒。建目標表則是定義結(jié)果要寫入的存儲比如Kafka目標主題或者StarRocks表。寫插入語句時可以像寫Hive一樣寫SELECT但要注意Flink SQL流式處理的特性不是每個子查詢都能在流上跑比如沒有窗口的無限流上做復(fù)雜相關(guān)子查詢就可能產(chǎn)生“查詢沒有在有限窗口內(nèi)執(zhí)行”的報錯。遇到這類問題思路要轉(zhuǎn)換回來——先想想這個計算在流上有沒有邊界窗口能不能切出邊界來。動態(tài)表的理解也很有用。Flink SQL里表中的數(shù)據(jù)是實時變化的每次查詢相當(dāng)于對動態(tài)表的快照做計算結(jié)果也是動態(tài)表。離線Hive的靜態(tài)表思維要調(diào)整過來不能再假設(shè)表內(nèi)容固定不變。3.3 維表關(guān)聯(lián)的常用方式實時數(shù)倉開發(fā)里維表關(guān)聯(lián)是個繞不開的大話題。離線Hive里做維度補全很簡單一個JOIN搞定數(shù)據(jù)全量在那隨便關(guān)聯(lián)。實時場景不一樣主流數(shù)據(jù)是無限的流維度數(shù)據(jù)在外部存儲里比如MySQL、Redis、HBase不能直接JOIN得想辦法查詢。Flink SQL里最常用的維表關(guān)聯(lián)方式是Lookup Join。Lookup Join的原理是當(dāng)主流數(shù)據(jù)流經(jīng)過算子時根據(jù)關(guān)聯(lián)字段實時去查詢外部維表把查詢到的維度字段補到當(dāng)前數(shù)據(jù)上??梢允敲縼硪粭l數(shù)據(jù)查一次維表也可以配置緩存把查過的維度存起來一段時間內(nèi)復(fù)用減少外部存儲壓力。這里幾個參數(shù)很關(guān)鍵緩存大小、緩存TTL、最大重試次數(shù)。緩存大小決定內(nèi)存里能放多少維度數(shù)據(jù)緩存TTL決定維度數(shù)據(jù)的有效時長最大重試次數(shù)是維表查詢失敗時最多重試幾次。實際項目里維表通常放Redis或者MySQL我建議優(yōu)先用Redis查詢快、壓力小數(shù)據(jù)量小的維表也可以內(nèi)存緩存效率更高。另一個點是不管用哪種維表都要考慮到維度數(shù)據(jù)更新的問題。比如商品類目調(diào)整了緩存里還是舊值下游指標就會用到舊維度。解決辦法是把緩存TTL控制在可接受范圍內(nèi)或者通過CDC把維度變更也實時同步到緩存中。3.4 CDC數(shù)據(jù)入倉鏈路解析CDCChange Data Capture變更數(shù)據(jù)捕獲是近幾年實時數(shù)倉最熱的方向核心是把業(yè)務(wù)數(shù)據(jù)庫的變更記錄增刪改實時捕獲出來同步到數(shù)倉或數(shù)據(jù)湖。鏈路通常是這樣的業(yè)務(wù)MySQL產(chǎn)生變更日志BinlogCDC工具把日志解析成統(tǒng)一的變更事件發(fā)送到KafkaFlink消費后寫入數(shù)倉存儲。很多數(shù)倉開發(fā)對CDC的理解是“數(shù)據(jù)庫同步工具”而已容易忽略它在實時數(shù)倉里的真正意義。有了CDC業(yè)務(wù)表的數(shù)據(jù)可以實時進入數(shù)倉ODS層不再是T1全量快照而是按變更時間形成的實時流水下游可以隨時基于最新數(shù)據(jù)計算同時保留完整變更歷史支持回溯。Flink在CDC鏈路里承擔(dān)的任務(wù)通常是數(shù)據(jù)解析和格式轉(zhuǎn)換。業(yè)務(wù)庫的Binlog格式是MySQL相關(guān)的Flink CDC連接器會解析成統(tǒng)一的RowDataFlink作業(yè)再接入自己的邏輯。也常見用Flink做全量加增量同步先一次性讀取存量數(shù)據(jù)再接續(xù)讀取變更數(shù)據(jù)保證上游表數(shù)據(jù)完整。這個過程要注意主鍵去重和schema演進的兼容否則同步到一半表結(jié)構(gòu)變了作業(yè)會掛。寫入目標存儲時建議優(yōu)先選支持upsert的存儲比如Hudi、Iceberg、Kafka。傳統(tǒng)Hive分區(qū)表不適合高頻upsert因為Hive本身不支持行級更新CDC數(shù)據(jù)寫進去會產(chǎn)生大量小文件。這個坑我踩過后期靠Hudi的mor表才把問題解決。4. 參數(shù)調(diào)優(yōu)與問題排查實錄4.1 作業(yè)并行度與資源配置離線任務(wù)跑掛了重跑就行實時作業(yè)不一樣它7x24小時運行資源分配不對問題會積累最終拖垮整個鏈路。Flink作業(yè)的并行度是第一個要調(diào)的參數(shù)它決定了作業(yè)的算子有多少個并行實例每個實例處理一部分數(shù)據(jù)。并行度不是越大越好。我見過有人無腦把并行度調(diào)到64結(jié)果Kafka分區(qū)數(shù)只有12導(dǎo)致大量并行子任務(wù)空閑白白占用資源。合理做法是先確認上游Kafka分區(qū)數(shù)并行度一般不要超過分區(qū)數(shù)否則單個分區(qū)的數(shù)據(jù)被拆到多個并行實例里狀態(tài)一致性和順序性都可能出問題。內(nèi)存參數(shù)也很關(guān)鍵。TaskManager的總內(nèi)存、托管內(nèi)存、JVM堆外內(nèi)存這幾個參數(shù)要區(qū)分清楚。狀態(tài)大小直接決定托管內(nèi)存的配置如果作業(yè)用了RocksDB狀態(tài)后端托管內(nèi)存要留足否則狀態(tài)頻繁落盤會拖慢性能。實際調(diào)優(yōu)時先看監(jiān)控面板里內(nèi)存使用率確認瓶頸在哪再針對性調(diào)整參數(shù)不要一次性把所有參數(shù)都改了否則出了問題沒法定位是哪個參數(shù)引起的。4.2 反壓問題怎么定位反壓Backpressure是實時計算里最讓人頭疼的問題之一。通俗解釋數(shù)據(jù)從上游算子流到下游算子下游處理速度跟不上上游生產(chǎn)速度數(shù)據(jù)會在鏈路中堆積就像水管下游堵住了水壓會往上傳遞。反壓出現(xiàn)時作業(yè)不會直接報錯退出但數(shù)據(jù)延遲會越來越大checkpoint耗時會變長甚至超時失敗最終導(dǎo)致整個作業(yè)無法正常工作。定位反壓我習(xí)慣先在Flink Web UI上看每個算子的“背壓狀態(tài)”從處理速度最慢的算子入手確認是計算邏輯復(fù)雜、調(diào)用外部服務(wù)慢還是Sink寫入性能差。如果反壓發(fā)生在Sink階段優(yōu)先檢查下游存儲是否夠快。比如寫入StarRocks時如果攢批策略不合理每條數(shù)據(jù)都觸發(fā)寫入吞吐肯定上不去。這時要調(diào)整攢批大小、刷新間隔、重試次數(shù)這些參數(shù)。如果反壓發(fā)生在Join操作多半是維表Lookup慢先看維表緩存命中率命中率低就擴大緩存或加Redis集群。我的習(xí)慣是“反壓問題先查下游再查中間算子”因為實時鏈路里Sink往往是全局瓶頸。反壓只是現(xiàn)象真正要解決的是瓶頸算子的處理能力問題。4.3 狀態(tài)過大與數(shù)據(jù)傾斜長時間運行的Flink作業(yè)狀態(tài)膨脹和數(shù)據(jù)傾斜是兩個會慢慢浮現(xiàn)的殺手。狀態(tài)過大的典型特征是checkpoint越來越慢恢復(fù)時間越來越久最終作業(yè)重啟一次要好幾分鐘。解決辦法除了前面說的清理邏輯、設(shè)置TTL還可以考慮兩點一是檢查是否有不必要的key維度把狀態(tài)粒度打細了比如按訂單ID作為key會產(chǎn)生海量小狀態(tài)二是優(yōu)化聚合邏輯盡量分層聚合先局部聚合再全局聚合減少狀態(tài)量。數(shù)據(jù)傾斜在Flink里和離線一樣常見。比如實時計算某類商品的銷售指標爆款商品的key數(shù)據(jù)量可能是其他商品的幾百倍單個并行子任務(wù)會被熱點數(shù)據(jù)壓垮其他子任務(wù)空轉(zhuǎn)。離線可以加隨機前綴打散Flink里思路類似在key上拼隨機數(shù)做局部聚合再按真實key做最終聚合。優(yōu)先級高的傾斜場景比如大主播直播期間的訂單流不提前處理作業(yè)基本撐不過大促峰值。傾斜問題的排查要靠監(jiān)控各個子任務(wù)的處理記錄數(shù)和延遲發(fā)現(xiàn)某個子任務(wù)數(shù)據(jù)量明顯高于均值基本就是傾斜了。Flink Web UI的Subtask指標比離線任務(wù)的日志直觀得多開發(fā)一定要養(yǎng)成看指標面板的習(xí)慣。4.4 常見報錯速查表實時作業(yè)跑起來之后報錯信息千奇百怪但排在最前面的高頻問題就那么幾類整理成表格方便對照。報錯場景常見原因排查思路作業(yè)啟動后很快失敗提示序列化異常POJO類型缺少無參構(gòu)造或字段未注冊檢查Flink SQL定義的數(shù)據(jù)類型與源數(shù)據(jù)是否一致checkpoint失敗持續(xù)反壓下游處理慢或狀態(tài)過大先定位反壓算子再調(diào)整Sink寫參數(shù)或清理狀態(tài)維表關(guān)聯(lián)查詢超時外部存儲壓力大或緩存命中率低查看維表查詢耗時加大緩存或優(yōu)化查詢邏輯數(shù)據(jù)重復(fù)嚴重上游At-Least-Once導(dǎo)致重復(fù)消費檢查是否開啟Checkpoint下游是否支持冪等寫入窗口結(jié)果一直不出Watermark不推進確認事件時間字段是否配置正確Watermark延遲是否過大內(nèi)存溢出OOM狀態(tài)太大或并行度過高檢查托管內(nèi)存配置切換RocksDB狀態(tài)后端這些報錯都有一個共同點日志只是表象真正的原因要看指標和數(shù)據(jù)流特征。我處理這類問題時很少只看最后幾行報錯而是先看作業(yè)拓撲再看每個算子的輸入輸出速率、Watermark延遲、checkpoint時長把“現(xiàn)象-問題-優(yōu)化”串成一條線來排查。5. 參數(shù)調(diào)優(yōu)補充幾個容易被忽略的細節(jié)調(diào)優(yōu)這塊內(nèi)容單獨放一節(jié)講是因為很多項目上線前期風(fēng)平浪靜跑了一兩周后才暴雷問題往往出在幾個容易被忽略的參數(shù)配置上。第一個是checkpoint的配置細節(jié)。很多團隊只設(shè)置了檢查點間隔忽略了超時時間和失敗容忍次數(shù)。默認超時時間如果偏大checkpoint失敗幾次后作業(yè)可能直接重啟導(dǎo)致長時間的中斷。建議明確設(shè)置超時時間比如10分鐘同時設(shè)置checkpoint失敗容忍次數(shù)給短暫的外部抖動留緩沖。第二個是空閑源Idle Source的處理。實時作業(yè)里如果有多個數(shù)據(jù)源其中某個數(shù)據(jù)源長時間沒有新數(shù)據(jù)它的Watermark不推進會導(dǎo)致整個作業(yè)的Watermark被拖住窗口一直不觸發(fā)。解決辦法是給源表設(shè)置idle超時參數(shù)讓長時間空閑的數(shù)據(jù)源不再影響整體Watermark推進。這個問題不遇到一次書面上很難有感覺但遇到后你會印象深刻。第三個是作業(yè)的并行子任務(wù)之間的數(shù)據(jù)傾斜監(jiān)控。Flink Web UI上可以看每個Subtask的“Records Sent”和“Records Received”如果發(fā)現(xiàn)某個Subtask接收的數(shù)據(jù)量是其他Subtask的幾十倍要第一時間處理。延遲處理傾斜問題的代價非常高因為狀態(tài)一旦被熱點key撐大后面想清理就難了。6. 流批一體的實踐邊界與選型思考寫到這里聊最后一個在數(shù)倉開發(fā)中常見的問題流批一體到底能走到什么程度以及什么時候可以選擇不用Flink。理想狀態(tài)下一套Flink SQL邏輯既能跑批又能跑流實現(xiàn)“口徑統(tǒng)一、一套邏輯到處跑”。但實踐中我逐漸意識到流批一體更偏向“統(tǒng)一編程模型”和“統(tǒng)一SQL語法”并不是說同一個作業(yè)直接切換模式就能完全等價。批模式可以有界地掃描全量數(shù)據(jù)做一些依賴全局數(shù)據(jù)的計算流模式要面對亂序、無界、增量計算有些SQL寫法在批上成立在流上會因為缺少窗口邊界而報錯。所以我的做法是核心指標計算盡量用Flink SQL實現(xiàn)并且嚴格要求邏輯同時支持批和流兩種模式非核心的一次性分析任務(wù)仍交給Hive或者Spark跑沒必要強行統(tǒng)一。這樣既保證了主要指標的實時離線一致性又不讓流批一體的理念成為所有任務(wù)的負擔(dān)。選型思考也簡單說兩句。如果業(yè)務(wù)場景是分鐘級延遲就能滿足對數(shù)據(jù)準確度要求極高那Kafka加Flink SQL加OLAP存儲的鏈路基本夠用沒必要上更重的架構(gòu)。如果需要處理非常復(fù)雜的實時計算邏輯比如多流關(guān)聯(lián)的復(fù)雜事件處理可以考慮DataStream API配合狀態(tài)編程靈活度更高但開發(fā)維護成本也更高。具體怎么選回到業(yè)務(wù)需求本身實時性要求、數(shù)據(jù)量級、團隊熟悉度這三個因素基本能幫你定方向。最后再分享一個小技巧。我每次新建Flink作業(yè)都會先在測試環(huán)境用一份小的歷史數(shù)據(jù)回放一遍驗證SQL邏輯和Watermark策略是否符合預(yù)期再切換到線上數(shù)據(jù)。別小看這個步驟實時作業(yè)一旦上線想再改邏輯就要承擔(dān)停機重放數(shù)據(jù)的成本遠不如先在測試環(huán)境把坑踩完來得省事。做數(shù)倉開發(fā)這幾年最大的體會是實時計算的門檻不在工具而在思維方式的轉(zhuǎn)變——從“離線全量”到“實時增量”從“靜態(tài)分批”到“動態(tài)流式”想明白了這些Flink的概念再復(fù)雜也能慢慢變成趁手的工具。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产精品久久久九九九| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 久久噜噜噜精品国产亚洲综合| 最新国产精品| 呻吟 欧美 日本 中出| 久热9| av无线看| AV乱伦国产| 丰满熟女人妻一区二区三五十一路| 色综合久久av| 性色综合网| 青青操在线亚洲视频观看欧美在线| 97爱综合| 日韩人妻无码不卡网站| 欧美日韩天堂| 日韩78m视频| 亚洲熟妇极品| 九九热超碰| 国产在线视频二区| 亚洲欧美综合| 天天射夜夜骑| 久久久久熟女| 素人伊尹大香蕉免费下载视频| 噜噜吧,噜噜色,噜噜| 人人摸.人人色| 久久久999国产精品| 五月天综合网| 夜夜操91744565| 九九aV| 色久桃花影院在线观看| 久久日韩精品一区二区| 色欲av一区二区三区蜜芽| 免费久久一级毛片大黄| 欧美熟妇成人一区二区| 草草影院日本第一页| 国产一区二区成人av在线播放| 操美女人妻| 日本 欧美 亚中文字幕| 欧美三级一级| 97干综合网| 日本啊啊啊啊啊视频| 精品一区二区啪啪啪| 五月天开心网| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 操少妞在线视频| 日本999精品视频| 九九九久千久久激情蜜桃在线看 | 2023天天操夜夜操| 日韩欧美成人午夜福利| 精品偷拍13p欧美dodk视频| 97在线视频观看| 人妻另类 专区 欧美 制服| 97超碰久久| 狠狠干91| 91 刺激在线| 国产乱码久久| 97人人爱人人做人人乐| 99精品丰满人妻无码| 天天操熟妇| 男人天堂无码| 精品国产三级av韩国在线| 五月天婷婷在线看| 狂操嫩妻视频一区二区三区| 夜夜夜久久| 九九九九九九视频| 老女人综合网| 女人高潮大叫一级毛片| 淫淫总合网| 精品无码一区二区| 超碰97欧美日韩| 欧美性夜| 一二三四视频中文字幕在线看| 78m成人视线| 偷拍盗拍亚洲色图图片| 夜夜影视四色| 久久999久| 亚洲极品| 蜜乳AV免费观看| 欧美性爱91| 超碰国产在线| 97自拍一区| JuliaAnn丝袜熟女系列| 性爱乱伦视频免费| 欧美制服网站美腿丝袜| 蜜臀久久99精品久久久久久无删减 | 欧亚三区动漫| 国产精品免费日韩| 97香蕉人人乳| 久久系列| 破苞ⅩXXX性无码动漫无码| 色av中文字| 97在线观视频免费观看| 人妻天天爽天天爽三区| 爽爽淫人网| 国产性爱欧美性爱在线| 性爱视频无打码在线观看| 国模精品娜娜一二三区| 欧美A√综合网| 蜜臀中文字幕| 乱色视频中文字幕| 无码人妻系列少妇| 影音先锋少妇| 熟妇精品juliaannAV| 国产精品乱码久久久久| 久久,精品一二三| 久偷拍欧美日韩三区| 亚洲精品欧洲色| 人人操,操人人| 女人天堂AV五区在线| 亚洲精品97久久中文字幕| ji熟女.com| 免费视频在线观看啊啊啊啊啊| 97se综合网| 91美女精品| 日本精品一区二区中文字幕| 久湿久久| 国产91久久九九免费精品无码| 久久怡红院| 久草成人影片| 91丨熟女丨丰满熟女| 亚洲色图国产另类| 亚洲午夜福利视频| 超碰久草| 国产日本久久免费精品| 美女网站黄页| 人人透人人操| www.久久超碰| 亚洲一二三精品久久网 | 人人模人人看| 国产精品情侣啪啪| 亚洲AV无码秘 蜜桃臀国精产品| 大香焦A片| 黄呦呦在线| 国产亚洲深夜激情| 欧美丝袜亚洲| 日韩一级二级| 三久久久四久久久久| 久久久久亚洲Av无码专区老牛影视| 一区=区三区视频| 97超碰人人操人人操| 欧美日韩国产传媒在线精品| 试看60秒 爽| 国产乱码久久| 国产AV色黄看到爽| 亚洲综合校园春色| 操操啪| 日韩三级av片| 国产高清1234区| 天天射天天| jiujiujiujingpin| 亚洲激情在线| 91香蕉视频在线观看免费| 热热热热日日漂亮永久永久国产日| 91制服丝袜| 久久婷婷国产一区二区色| 亚洲国产美女久久久久| 欧美猛交黑寡妇中文字幕| 热99这里只有精品| 乱伦1色页| 天美麻豆黄色录像| 亚洲男人天堂2012| 国内毛片免费h片在线| 啪啪啪亚欧美视频| 少妇久久久免费| 少妇高潮99p| 九九热久久99精品re| 男女香蕉一区二区| 91jk色拍| 国产刺激视频| 国产极品一区二区三区三州| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 污电影在线观看| 久久精彩视频| 亚洲一区二区三区四区视频| 国产黄色剧情影片麻豆免费播放| 欧美日日网| 日韩 欧美 另类 人妻| 久久无码精品| 狠狠爱夜夜干| 精品二999| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 欧美人妻中出| 日本少妇va7777| 日亚韩精品视频二区三| 亚洲国产欧美一区二区潘金莲| 第二页中文字幕| 精品v日韩欧美国产| 精品一级| 老女人综合网| 97资源站日韩| 密臀在线视频| 麻豆天天躁天天揉揉AV| 97欧美久久久久久久| 亭亭丁香激情| 亚洲AV无码| 丰满的三级少妇欧美久久久| 十八禁的黄污污免费网站| 国产精品高潮久久久无码| 中文字幕乱妇免费视频| 久久中文字幕在线观看| 一卡二卡三卡| 欧美亚州综合网图片| 国产1727欧美| 男人的天堂在线 | 精品人妻一二三四区视频| 综合久草| 天天香香欲综合| 国产怡红院| 无码又爽又硬又激情免费视频| 免费精品无码一级毛片牛牛影视| 精品网站99999| 久久的网站啊啊啊啊啊| 亚洲国产一级中文综合久久天堂在线免费观看| 熟妇熟女视频一区二区三区| 日本欧美成人片AAAA| 人人操av| 天综合网| 欧美人妻精品| 欧美人妻色| 美女啪欧美一区| 亚洲成人妻日韩在线| 国产二区三区粉嫩在线| 爱妻综合网| 日日躁狠狠躁天天躁精品| 九九操久久国产免费视频| 综合 亚洲 欧美| 激情接吻视频久久久久久| 日本操大逼| 蜜乳AV一区二区三区四| 美女刺激久久国产欧美| 九九十八精品| 欧美玖玖爱免费玖玖| 四虎免费视频| 诱惑网综合| 青娱乐国产剧情av一区| 国产av又色又爽又黄| 中国女人内射6XXXXX| 黄色视频特级毛片| 成人无码专区精品视频| 亚洲精品一卡二卡三卡福利视频网站| 久操B网| 色诱avtt| 美女十八禁| 国产精品乱码久久久久| 欧美激情性爱视频网站| 婷婷五月天色| 99国产精品免费| 中文字幕一品色图| 欧美激情性久久久久久| 欧美性爱另类综合| 中文字幕制服欧美久久一区| 竹菊一区二区三区AV线| 中文字幕天堂在线| 日韩国语字幕| 青青久日| 成人无码电影在线观看网| 亚洲欧美国产日本一区二区三区| 色婷婷亚洲婷婷| 中日无幕一二三四区| 丝袜狂射91| 天天做天天爱| 免费观看的黄色的网站| 91精品婷婷国产综合久久竹菊| 日韩熟女精品无码专区一区二区 | 91男人天堂网| 粉嫩av久久一区二区三区| 色99视频| 免费国产| 看一级特黄a大一片| 国产高清1234区| 中文字幕熟女人妻丝袜丝| 男女猛烈无遮掩视频免费软件| 亚洲麻豆av一区二区| 日va操| 精品一区二区三区最新| 欧美日韩狠狠爱| 亚洲av国产av综合av卡| 啊啊啊啊啊啊啊国| 国产免费小视频| 日韩精品黄片免费观看| 婷婷香网站| 久久久久亚洲Av无码专区老牛影视| 亚洲码在线中文在线观看| 99综合免费视频| 91无摭挡| 99久久久无码国产精品性男| 精品久久艹| 成人性爱av| 久九九九九九九热| 日本精品五区| 五月天激情小说| 久久熟女嫩草成人片免费| 亚洲精品三区在线观看| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 欧美青青视频| 蜜臀操逼黄色视频操的好爽| 性色高清..……| 黑人操一区二区| 久久精品视频一区三区小泽玛利亚| 色婷婷A V一二三四区麻豆综合| 大香蕉草草| 国模精品娜娜一二三区| 成人怡红院| 2020中文字幕| 污色区网站| 成人 日韩欧美一区| 97超碰精品图片| 97操碰| 久久春色| 91久久久老司机| 亚洲av影音先锋| 亚洲性图91| 入口操逼网站| 色99999| 国产精品青青草| 欧美不卡在线一区二区| 久久精品中文字幕女同| 亚洲综合激情五月久久| 97啪啪| 好吊色一区| 色婷婷视频| 91模特在线观看| 激情五月天婷婷| 亚欧色图在线激情| 另类 综合 日韩 欧美 亚洲| 亚洲九月丁香| 天天日天天操天天射河南省| 青青草国产一区二区三区| 婷婷综合网| 91熟女视频| 都市激情人妻一区二区青青操视频| 亚洲日韩天堂| 欧美亚洲厕所精品偷拍91| 一区二区娱乐网站| 大香蕉乱级| 青草视频人妻在线观看| 麻豆国产av网| 操人无码| 影音先锋每日最新资源在线观看 | 人妻啊啊人妻啊| 人人做天天爱| 男人综合网| 成人天天看站长推荐| 久久性视频| 搡老熟女免费视频 | 一区,二区,三区网站| 天堂俺去俺来也www久久婷婷| 色呦呦、国产精品| 婷婷色导航| 91人妻人人澡人人爽人人精品| 亚洲激情综合| 久久黄色性爱视频| 青草一区二区| 国产免费一区| 国产熟女| 肥臀熟女福利视频一区二区| 国产精品久久久久av| 黄色人人| 再深点灬舒服灬太大了添视频| 欧亚第一综合网| 日韩人妻少妇 一区二区三区| 欧美综合色图片| 天天享受天天看| 丁香五月婷婷基地| 亚洲欧美中文日韩视频中国语| 91蜜桃传媒精品久久久一区二区| 久久五月天婷婷| 一区二区三区黄片免费观看| 欧美传媒| 亚洲欧美成人网站AAA| 人伦四五区| 日韩不卡网操逼中文字幕日韩| 伊人精品久久网站| 香蕉国产精品麻豆亚洲欧美日韩| 欧美国产成人在线| 久久欧洲| 牛牛久久国产精品视频一二三| 色婷婷视频| 99亚洲精品| 日韩成人性日韩成人性爱视频在线免费观看| 91美女视屏| 九九这里只有精品| 78综合网| 国产性感骚丝袜在线| 日韩操人| 天天欧美色| 伊色综合天堂色97| 婷婷国产精品九区| 欧美在线l亚洲| 神马午夜久久久| 青青草吊丝| 欧美性暴力猛交XXXX | 色99色| 亚洲中文字幕网| 乱色视频中文字幕| 99色在线视频| 亚洲 欧美 中文 日韩超碰 | 中文字幕av丝袜| 91美女看B| 99最新日韩偷拍视频| 高清孕妇孕交 交孕妇| 亚洲色棕合| 欧美92| 女性91网站| 亚洲一区二区三区春色| 日本 色 导航| 开心婷婷五月| 日本啊啊啊啊啊视频| 淫乱图区 | 亚乱色| 精品无码久久久久久国产浪潮| 成人怡红院| 久久久久久久久久久免费精品 | 婷婷激情四射| 欧美 日韩 国产传媒| 亚洲性综合| 色区97| 午夜成人爽爽爽爽A片李冰冰| 舔舔啊| 99热伊人| 少妇啪啪自拍| 区日韩亚洲乱码av电影| 性色av一区二区| 99超碰网| 国产黄片在线免费观看| 青青国产在线拍揄自揄拍| 午夜精品久久久久久久99| 91成人无码| 家庭乱伦国产| 欧亚综合一卡二卡中文字幕| 999 久久久| 9精品久久久久| 三级精品三级在线观看| 综合久| 色综合潮| 亚洲精品欧洲色| 国产一区二区a毛片| 日本 欧美 亚中文字幕| 97精品在线| 蜜臀一区二区三区在线| 99久久99九九99九九九| 天美传媒在线一区| 日语五十路和六十路亚洲国产精品 | 黄色无码高清黄色无码网站| 亚洲成a人在线观看久| 91xingse| 91白嫩| 成年女人黄网站| 97网址www| 亚洲美女精品九九视频| 国产超碰| 啊啊啊啊,啊啊好多水| 国产精品无码成人精品| www.四虎在线| a'v在线资源| 欧美一级色| 伊人久久亚洲色欲综合网站 | 黄色免费网| 99久久综合| 女上位精品在线| 久草尤物| 伊人丝袜美腿高跟在线观看高清| 人妻超碰青青草98| www.大香| 中日韩久久人妻一区二区| 91骚熟女| 婷婷伊人一区| 亚洲av无码国产精品字幕| 男人的天堂2010| 精品免费囯产一区二区三区| 熟女突然公开看18禁影片| 91色堂| 在线a v| 久久大精品乱码视频人妻熟女| 国产精品对白自产拍| 手机在线视频国内精品| 在线情色电影 91大| 欧美大波激情xxxx| 国产污视频麻豆传媒一区二区| 一区二区三区在线日韩影院观看| 午夜男人的天堂| 色香蕉影院| 超碰97伊人| 小泽玛利亚一二三| 亚洲欧洲日本精品中文a∨| 日本一区三级韩国| 秋霞一级鲁丝片A片| 中文字幕乱碼在线| 久操网无码在线| 九九九精品色乱九九九| 丰满人妻大屁一区二区| 亚洲天天操| 国产精品成人午夜福利| 亚洲丝袜色| 2024年最新色情网站在线观看| 久久九九视频九九视频| 国产吹潮女在线观看| 久操婷婷| 日韩av无码网站| ai欧美亚洲小说| 999岛国大片| 少妇高潮九九九九| 素颜老阿姨乱情色| 巨爆乳肉感一区二区三区竹菊影视| 日韩钢筋无码高清啾啾啾| 强奸国产精品视频| 88在线一区二区三区| 在线观看一卡二卡| 国产精品爽爽v| 国产深喉| 亚洲情色一区三区| 欧美疯狂做爰xxxx| 国产探花日韩援交| 日日摸日日碰夜夜爽视频| 91 丝袜在线| 亚洲高清无码免费观看视频| av一区二区三区不卡| 久久久久921| 91一区二区| 欧美另类精品xxxx| 天堂无码| 超碰综合97在线| 九一亚洲国产免费| 国产久久久久久久久一区二区| 精品久久久久成人码免| 大香蕉综合| 激情五月天色色网| 伊人久久综合影院| 精品传媒在线一区| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 日本中文字幕熟妇| 欧美亚男人的天堂| 久碰视频| 国产精品久久久久久久毛片1| 劲爆欧美人妖三区91| 日韩精品 资源| 91成人在线免费视频| 青娱乐淫乱1314| 99热这里都是精品| 亚码激情| 乱伦日本色图AⅤ| 久久青青草原免费视频| 精品无吗m| 人人妻天天做天天爽| 日韩传媒在线| 91ise欧美| 97人人干人人操| 在线精品福利免费播放| 飘花国产午夜精品不卡| 91综合色噜噜| 色香天天| 丝袜 中出 制服 人妻 美腿 中文字幕| 性无码专区2020| 精品国产乱码久久久A| 舔人妻中文免费视频| 久久久久久久久久精| 国产传媒日本欧美专区| 一二三啪啪专区| 99综合视频一体| 国产小黄片在线免费观看| 伊人丁香五月婷婷| 又粗又长又爽在线观看| 日本 色 导航| 熟女乱伦A| 欧美性爱第一区| 国产日韩欧美中文在线播放| 无码丰满熟妇一区二区浪潮AV| 色九色久| 久草电影网| 九九超碰综合网| 亚洲极品| 这里只有97精品| 天天日天天看| 国产91 丝袜在线播放00-百度| 粉嫩小泬久久久一区二区| 色婷婷蜜臀av| 蜜桃一区二区三区| 99最新日韩偷拍视频| 亚州Av天美传媒| 蜜桃午夜视频一区二区| 另类欧美色| 亚洲国产美女久久久久| 手机在线免费看的av| 男人的天堂网页| 午夜一区| 无码区蜜乳| 一区二区三区 日韩欧美| www欧美性爱| 天天影视色香色欲| 99精品伊人| 中出91视频| 欧美色亚洲| 国产成人无码啪| 337p大胆噜噜噜噜噜91Av| 色妹子A V| 搞中出视频在线观看| 一区e区三| 少妇综合网| 久久国产热视频97电影| 91狠| 久久婷婷欧美| 久夜视频| 3D污黄视频在线观看| 欧美一级三级| 97国产伦理| 日韩精品人妻| 欧美日韩国内不卡| 女一区二区| 超碰色美女| 免费av高清无码| 色婷婷基地| 亚洲成人精品久久久| 91国产丝袜白虎| 日韩无码操逼片| 99热成人| 欧美日韩精品久久久久东北老熟妇| 东京热不卡视频| 日韩一二三区| 久久久久久AⅤ无码免费肉站| 欧美黄片欧美黄片xxx| 麻豆黄色五月天| 蜜桃午夜视频一区二区| 伊人久久在线视频观看| 99热这里只有精| 97人人色| 色情乱伦AV| 久久仑合| 97色伦97色伦国产欧美| 人妻熟女午夜精品在线| 国产熟码AV| A V视频日本| 欧美色图亚洲特色| 国产午夜在线观看| 欧美亚洲综合色| 日本2020一区二区| 日韩av不卡在线观看| 韩日精品福利视频一区不卡在线免| 色娱乐色呦呦夜夜夜夜av| 伊人久操| 国产精品高潮久久AV| 翔田千里AV无码秘 三区| 丁香六月综合激情| 校园春色美腿丝袜| 99久久久无码国产精品性男| 玖玖草久草99蜜月一区二区三区| 玖玖爱伊人玖玖爱| 日美免费黄片| 97伦乱| 欧美大香蕉专区网| 久久精品91| 天天干天天操天天干天天操| 中文熟女五十乱码在线| 久久激情亚洲精品无码?V| 狠操91,com| 天天干夜夜一操| 99热国产精品| 91小视频| 就去色综合| 天天摸,夜夜摸| 久久久久少妇| 一区二区精品更新提醒| 肏逼福利网站| 欧美亚洲美少妇一区二区| 亚洲av国产av综合av卡| 69精品少妇一区二区三区蜜桃| 欧美综合骚| 久久久97| 美性中文综合网| 美國A片| 欧洲站一级二级三级h| 99色色网| 超碰免费97| 亚洲淫乱骚妇AV| 国产久久av| 欧美97免费| 狠狠 91| 人人干黄色| 久操av在线| 午夜免费视频1000| 夜草网站| 国产91专区| 九九热精品在线| 一道α片欧美| 亚洲骚男同com| 97色冈| 2018天天干在线视频| 色噜噜人妻av中文字幕| 无码99| 韩国手机不卡无码三级视频| 激情情色五月天| 亚州情色j区| 成人a大片在线观看| 有码专区最新中文字幕有码| 日本天堂网| 操逼网免费无码视频| 日韩在线观看三级电影| 啊啊啊啊啊啊啊在线| 天天舔天天 | 传媒在线观看一区二区三区| 国产精品久久久视频| 九九精品99| 97免费视频在线| 精品人妻一区二区三区夜夜| 亚洲综合另类| 思思热在线cao| 97天天日| 久久久久久中文| 91天堂视频| 日韩精品 资源| 探花熟女,姿勢到位,體驗感也到位| 91天天综合网,天天综合网| 亚洲图片偷拍视频区| 一本色道久久天天射天天干| 欧美亚洲今日在线| 99在线啪| 久久久久9999妇女| 91久精品| 天天干天天干天天干| 国产三级多多影院2022国产AA一级毛片无码 | 欧美洲精品一级| 国产视频一区二区三区久久亚洲天堂| 中文?日韩?免费?精品| 三级精品三级在线观看| 超碰97导航| 麻豆一区在线| 中文乱码99| 67914亚洲精品| 日韩人妻无码专区| 96久久精品一二三区色欲| 欧美区亚洲区偷拍区| 九久精品| 久久久日本电影| 男人的天堂kva| 91美女视频电影| 久操在97| 男人的天堂日本东京热| 上床不卡网站| 国产精品视频播放| 亚洲色9| 青青草吊丝| 中文字幕视频2区| 97精彩视频网站| 熟妇高潮一区二区免费视频| 大香蕉97久久| 亚洲有薄码区日本系列中文字幕| 激情 欧美 亚洲 小说| 91人妻在线视频| 国产99热| 国产精品午夜AV完会免费| 日韩9区| 91bbb| 伊人影院日本| 高清无码久操视频| 国产91会所女技师在线观看| 欧美综合国产精品久久丁香| 人妻偷拍一区二区三区| A 在线网址| 国产偷拍自拍在线视频| 免费A V在线| 99激情| 美女尤物福利视频| 91撸色网 玖玖网 欧美| av天天在线| 老鸭窝日丰县女人| 精品免费囯产一区二区三区| 婷婷综合伊人一区| 久久中文字幕不卡人妻| 超碰成人公开| 极品色www影院| 大香交伊人网| 久久精品天美| 综合久久2017| 国产又黄又粗的视频| 日韩欧美中文日韩欧美色| 婷婷91| 久久熟女人| 九九九九九九九九九九精品视频| 色五月69夫妻| 天天影视之亚洲综合网| 日本媚薬中文字幕在线| 成人免费毛片| 国产精品熟女乱伦| 男人下部插入女人下部| 中文字幕第23区| 天堂综合网| 制度丝袜99| 99激情视频| 神马久久久久久久久久久久| 99精品综合久久久久五月天| 91综合在线| 亚洲午夜福利在线影院| 青青草日本无码| 亚洲性图91| 九九九九精品九九九九| 手机在线人成免费视频| 日韩99999色| 亚洲欧美内射| 999精品国产高清一区二区| 婷婷五月天av| 国产白丝在线| 极品色| 日本黄 R色 成 人网站| 18岁禁 茉莉成人久久| 東南亚性呦成人伦理资源在线视频| 日日嗷| 人妻一区二区三区视频 | 中国探花熟女| 亚洲。日韩。欧美| 97操碰| 人妻81p| 特级大荫道BBwBBwBBW| 97色操| 黄色电影观看久久9| 九九九综合精品| 精品久久久一本一道| 日韩在线一区高清在线| 国产av高清版| 欧洲综合色| 福利在线黄片| 久久99精品九九久久久婷婷| 免费AV中文网在线观看| 五月婷婷综合在线| 精品少妇一区二区| 美女操逼福利视频| 亚州熟妇精品| 精品人妻中文字幕4399| 观看视频图片一区二区三区| 熟妇色99| 91美女丝袜诱惑视频| 欧美视频一区二区三区| 91成人精品在线播放| 亚洲性猛交| 亚洲欧美日韩免费电影| 在线综合 亚洲 欧美中文字幕| 97在线青| 少妇高潮流水av免费| 91在线免费观看处女| 另类天堂| xxx亚洲午夜天堂| 国产后入| 国产精品对白内射| 96久久久久久久| 图片区小说区| 日日做夜狠狠爱欧美黑人| 最新av网站在线观看| 天天综合香 ld视频| 97超碰磁| 北条麻妃性愛视频| 国产www色在线观看| 久久久一区二区| 国产女人91精品嗷嗷嗷嗷| 亚洲日韩97| 久久精彩免费视频| 亚州一区二区| 欧美性色综合网| 亚洲国产奇米影视久久| 亚州国产成人精品女人久久 | 亚洲欧美校园另类春色| 欧美色欧美| 久久久熟妇熟女国产| 男人高清无码一区二区| 天美传媒av一区二区| 新版天堂中文资源8在线| 又黄又硬又粗又长国产视频| 香蕉久久国产AV一区二区| 粉嫩av一区二区三区天美传媒 | 青青伊人这里只有精品| 色婷婷九月天天综合| 一本大道久| 大香蕉伊利av| 欧美一级黄片视频在线| 久久久久久中文| 97久久资源| 少妇无码av专区线| 国产又粗又长的视频| 粉嫩国产精品久久粉嫩| 美女裸体无遮挡永久免费观看网站| 欧美精品自慰系列寂寞少妇| 九月伊人中文字幕| 曰本熟女视频| 久操热| 国产无马在线| 91精品国| 色女综合| 黄色av一区二区在线| 日韩欧美性爱电影在线观看| 91成人社区| 99在线精品视频| 高清国产精品无码| 精品人妻一区二区三区不卡断 | 久久久久久久免费A片国产成a人亚洲精∨品无码 | 91操人视频| 日韩熟女无码| 玖玖爱视频网站| 亚洲精品天天影视综合网 | 国产综合永久精品日韩鬼片| 夜夜嗨一区| 久久久18禁| 色色色热| 国产乱人伦AVA麻豆软件.| 九九无码| 亚洲丝袜二区在线| 四季AV一区二区凹凸精品小说| 激情综合五月| 久久久久久电影| 色欧洲| 国产精品一区二区后入| 色月天AV导航| 久久久A∨| 成人福利视频网| 在线亚洲 欧美 日本专区| 精品人妻一区二区三区不卡断 | 四虎精品一区| 中文字幕人妻色偷偷久久皮 | 国产欧美成人精品| 日本三级久| 欧美很很操视频| 国内毛片无遮挡国产| 97色在线视频| 99热欧美| 91国产伊人大香蕉| 97色涩| 久久超碰亚洲人| 97人妻色| 国产亚洲一黄| 色综合婷婷| 韩国三级理论在线| 欧美性爱中文字幕无线码| 国产午夜福利专区综合| 玖草在线视频| 亚洲风情在线观看| 91bbbbbb| 南澳成人一级片在线播放| 人澡逼| 啊啊啊好疼| 97超碰这里只有精品| 素颜老阿姨乱情色| 久久m| 人妻 欧美 中文| 欧美白嫩在线放| 精品国产72| 1区2区3区中文字幕日韩| 99re不伦| 大香蕉伊在线久草麻豆天堂故事| 日本肏逼视频在线观看| 国产精点久久久成人| 欧美麻豆成人同性GⅤ在线| 嫩草一区二区在线观看| 亚洲av影音先锋| 国产三级中文有码在线视频| 國產尤物AV尤物在線觀看| 天天日B夜夜干B时时操B| 午夜精品探花| av婷婷色婷婷色六月| 天天视频黄网站| 国产女人成人精品视频| 99久久久99久久91熟女| 美女超碰978| 天天操女人| 超碰 av 女人天堂| 青草视频人妻在线观看| 91热色| 欧美丝袜中文字幕07在线| 91黑丝在线| 无遮挡男女激烈动态图| 丁香九月 婷婷| 亚欧成人中文字幕一区| 国模精品一区二区三区苹果色戒| 人妻二区| 岛国片国产成人亚洲播放| 熟女六十路| 人人操AV| 欧美熟妇人体| 中文日韩欧美熟| 日本韩国五十路六十路七十路老熟女作爱视频网站 | 超碰免费人妻人人| 天天操夜夜嗨| 五月婷在线| 欧洲Au麻豆| 国产精品久久久久久久久久久久久久久久| 天美国产三级传媒| 国产极品久久久| 久久久月天| 日韩免费在线观看不卡| 91高清无码下载| 丁香六月激情综合| 久久久久久波多野吉衣高潮| 欧美成人国产精品| 天久久久噜噜噜久久国产精品爽爽 | 日本黄页视频在线观看| 春色91| 高潮的A片激情扒开一区| 国内三级自拍小视频在线观看| 国产极品美女高潮无套在线观看| 精品人妻1区| 久久99网站| 最新精品久久蜜桃| 男女国产精品| 日本性爱网址| 骚乳在线| 日韩本不卡视频在线观看 | 在线看免费无码AV天堂的| 国产av白丝| 久久久性少妇| 国产美女自拍AV| 91久久久久免| 很狠操| 中国AV美女| 九九热免费视频| 91女优在线观看 | 欧美制服另类丝袜| 亚欧美色图| 国产成年精品高清在线观看91| 超碰人人操97碰| 日韩pv中文| 中文字幕日韩情色| 神马久久久久久伦理片| 日韩在线AB| 国产精品欧美在线观看| 黄色性爱网网| 天堂v无码免费视频| 人人操人人摸人 | 青草香蕉网| 亲子敌伦对白在线播放| 精品一区二区成人动漫| 日韩精品人妻中文字有码在线| 国产夫妻性生活视频| 乱伦图一区| 蜜臀AV成人精品蜜臀| 84YTCOM性无码| 色五月婷婷网| 四虎av在线| 久久久国产三级黄色片| 天天影视之亚洲综合网| 鸡巴插逼视频| 青草视频人妻在线观看| 欧美日韩国产三级黄色| 97色涩| 成人一级性爱| 96国产污污污丝袜| 亚洲精品尤物yw在线影院| 青青操在线亚洲视频观看欧美在线| 曰本特级特黄特色黄色A级网站高清在线免费看 | 91粉芽高清在线一区二区| 天天综合站| 97任你吞精| 欧美在线第五页| 中文字幕av乱伦| 亚洲中字慕不卡| 综合五月婷婷| 大香蕉中文在线| 99超碰色| 日韩激情电影中文字幕| 久久免费看高潮毛片韩国| www.久久制服糖| 久久久禁| 日韩不卡a级视频专区| 夜夜无码| 素人播放一区| 五月天婷婷在线看| 歐美性天天| 天天干夜夜操网| 久久久久久十| 亚洲精品蜜桃久久久一区二区三区| 97超碰中文字幕| 五月婷婷大香蕉| 3PAV乱伦视频| 日韩 成人 有码| 国产小u女在线观看| 色九久| 伊人国产av| 在线色导航| 91狠狠狠| 天天干一区二区| 污污汅18禁网站在线永久免费观看 | 中文字幕精品免费一区二区| 色999偷自拍拍| 韩国黄片aaaa| 欧美日韩欧美| 久久国产精品,久久国产| 午夜偷拍久久熟女| 欧美日韩精品久久久久久久久东北老熟妇| 蜜乳AV一区| 亚洲精品国产拍免费91在线| 成人影 天天操 亚洲| 免费一级a毛片久久久久久鸭绿欲| 精品久久久av| 国产网站在线播放| 啪啪啪亚欧美视频| 色哟哟1区2区| 大香蕉啪啪啪| 一区二区三区免费视频入口| 日韩二区三四区五区六区在线看| 小视频玖玖| 日韩小电影| 久久97超碰香蕉| 91蜜臀熟女| 夜夜影视四色| 私人尤物在线精品不卡| 丰满熟女人妻一区二区三五十一路| AAAAAAAAA黄片| 亚洲欧美不卡线| AV色五月天| 国产精品久久久久绯色| 全球成人中文在线| 性爱综合一区二区| 欧美丝袜中文字幕07在线| 久久久久久久久久久久久久久久9| 免费自拍三级综合| 欧美色另类| 精品视频久久区| 不卡码视频| 久久久婷婷| AV污污污污| 欧美大香蕉久| 97免费在线观看| 久久久久久久久久久精| 天天综合网1| 久热久一区二区三区| 性爱1区| 国产精品免费日韩| 成人免费性爱视视| 久久国产精品m码| 中文字幕在线第二页| 欧洲精品一区二区三区| 好湿好紧好爽 视频| 婷婷久久久| 激情五月天丁香社区| 欧美亚洲色图另类国产| 亚洲男人综合| 美女被啪到深处抽搐视频| 国产视频第二页| 青青草原香蕉日本Ap| 日韩av电影网站| 日本中文字幕一区| 丝袜美腿校园春色| 色婷婷婷五月天激情四射| 97在线国产精品| 精品国产少妇高潮视频| 夂久色| 欧美精品第3页| 五月丁香成人网| 去干网最新版| 午夜黄色免费在线观看| 91成人在线免费视频| 超碰在线观看av不卡| 欧美一区二区福利在线| 亚洲精品国产无码高清| 久久欲| 特级特黄一级毛片免费| 麻豆视频国产一区二区| 日本潮催一卡操| 欧美性爱第一页久久| 亚洲国产一级黄色视频| 综合亚洲欧美精品日韩?v| www.色吧5.com| 6080YYY午夜理论片在线观看| 在线播放欧洲免费av| 亚洲一区中文字幕| 麻豆91熟妇人妻中文字幕茄子|