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

ARTICLE DETAIL

資訊詳情

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

Flink實(shí)時(shí)數(shù)倉(cāng)全鏈路架構(gòu):從采集到存儲(chǔ)的工程實(shí)踐

Flink實(shí)時(shí)數(shù)倉(cāng)全鏈路架構(gòu):從采集到存儲(chǔ)的工程實(shí)踐 1. 為什么“實(shí)時(shí)數(shù)倉(cāng)”不是加個(gè)“實(shí)時(shí)”兩個(gè)字就完事了Flink實(shí)時(shí)數(shù)倉(cāng)數(shù)據(jù)采集流程和技術(shù)架構(gòu)——這個(gè)標(biāo)題里藏著一個(gè)行業(yè)里心照不宣的真相絕大多數(shù)團(tuán)隊(duì)在喊“建實(shí)時(shí)數(shù)倉(cāng)”時(shí)其實(shí)連“實(shí)時(shí)”的邊界在哪都沒(méi)想清楚。我見(jiàn)過(guò)太多項(xiàng)目從Kafka里拉幾條日志、用Flink SQL跑個(gè)count(*)、把結(jié)果寫進(jìn)MySQL就敢在匯報(bào)材料里寫“已建成端到端秒級(jí)實(shí)時(shí)數(shù)倉(cāng)”。結(jié)果一上線業(yè)務(wù)方問(wèn)“用戶昨天下午3:17下單后什么時(shí)候能查到對(duì)應(yīng)的風(fēng)控評(píng)分”——后臺(tái)查了一圈發(fā)現(xiàn)延遲波動(dòng)在8~42秒之間且凌晨批量補(bǔ)數(shù)時(shí)會(huì)卡住整個(gè)實(shí)時(shí)鏈路。這不是實(shí)時(shí)這是“偽實(shí)時(shí)”是拿Flink當(dāng)高級(jí)ETL工具使。真正意義上的實(shí)時(shí)數(shù)倉(cāng)核心不在“快”而在確定性、一致性與可運(yùn)維性。它要求數(shù)據(jù)從源頭產(chǎn)生到最終可查P95延遲穩(wěn)定控制在亞秒級(jí)通?!?00ms且不因流量突增、窗口重計(jì)算、CheckPoint失敗而雪崩同一份訂單在T0報(bào)表、實(shí)時(shí)大屏、AB實(shí)驗(yàn)平臺(tái)中看到的指標(biāo)值必須完全一致——這背后是精確一次exactly-once語(yǔ)義貫穿全鏈路而非“至少一次”帶來(lái)的重復(fù)計(jì)數(shù)當(dāng)某天上游埋點(diǎn)字段突然多了一個(gè)device_id_v2下游不用改一行代碼就能自動(dòng)識(shí)別并落庫(kù)而不是等數(shù)據(jù)工程師通宵寫UDF、重啟作業(yè)、手動(dòng)修復(fù)歷史數(shù)據(jù)。這些能力不是靠堆Flink算子就能實(shí)現(xiàn)的。它依賴一套精密咬合的技術(shù)架構(gòu)采集層要解決協(xié)議適配與流量整形傳輸層要保障亂序容忍與背壓傳導(dǎo)計(jì)算層要平衡狀態(tài)管理與窗口精度存儲(chǔ)層要支持高并發(fā)點(diǎn)查與低延遲聚合。而“數(shù)據(jù)采集流程”正是這套架構(gòu)的神經(jīng)末梢——它決定了整條鏈路的血液是否純凈、供血是否穩(wěn)定、脈搏是否規(guī)律。關(guān)鍵詞里雖未明示但所有實(shí)操者心里都清楚Kafka、Debezium、Flink CDC、Schema Registry、Watermark機(jī)制、Exactly-once Sink這些詞才是真實(shí)戰(zhàn)場(chǎng)上的彈藥。它們不是教科書里的概念而是每天在監(jiān)控告警、任務(wù)重啟、數(shù)據(jù)對(duì)賬中反復(fù)被驗(yàn)證或推翻的具體技術(shù)選擇。接下來(lái)我會(huì)帶你一層層拆開這個(gè)架構(gòu)不講虛的只說(shuō)我在三個(gè)不同規(guī)模項(xiàng)目里踩過(guò)坑、調(diào)過(guò)參、壓過(guò)測(cè)的真實(shí)路徑。2. 采集層不是“接進(jìn)來(lái)”就行而是“接得懂、接得穩(wěn)、接得準(zhǔn)”數(shù)據(jù)采集是實(shí)時(shí)數(shù)倉(cāng)的第一道閘門。很多人以為只要把業(yè)務(wù)數(shù)據(jù)庫(kù)的binlog或應(yīng)用日志塞進(jìn)Kafka就完成了采集但實(shí)際落地時(shí)90%的數(shù)據(jù)質(zhì)量問(wèn)題和延遲抖動(dòng)根源都在這一層。我們來(lái)拆解三個(gè)關(guān)鍵維度協(xié)議適配、流量整形、元數(shù)據(jù)治理。2.1 協(xié)議適配為什么Debezium比自研CDC更值得投入業(yè)務(wù)數(shù)據(jù)庫(kù)類型五花八門MySQL主從集群、PostgreSQL分片庫(kù)、Oracle RAC、甚至還有遺留的SQL Server。如果為每種數(shù)據(jù)庫(kù)單獨(dú)開發(fā)CDC客戶端維護(hù)成本會(huì)指數(shù)級(jí)上升。我們?cè)谝粋€(gè)金融項(xiàng)目中嘗試自研MySQL binlog解析器初期效果不錯(cuò)但當(dāng)業(yè)務(wù)方升級(jí)MySQL 8.0并啟用caching_sha2_password認(rèn)證插件后連接池直接報(bào)錯(cuò)而修復(fù)需重寫SSL握手模塊——耗時(shí)6人日且無(wú)法復(fù)用到PostgreSQL場(chǎng)景。Debezium的價(jià)值在于它把數(shù)據(jù)庫(kù)協(xié)議差異封裝成了統(tǒng)一的Change Data Event模型。以MySQL為例它通過(guò)偽裝成從庫(kù)接入主庫(kù)實(shí)時(shí)拉取binlog再將INSERT/UPDATE/DELETE事件標(biāo)準(zhǔn)化為JSON結(jié)構(gòu){ op: u, before: {id: 1001, status: created}, after: {id: 1001, status: paid}, source: { version: 2.3.0.Final, connector: mysql, name: inventory-connector, ts_ms: 1698765432000, snapshot: false, db: inventory, table: orders, server_id: 1854321, file: mysql-bin.000003, pos: 12345, row: 0, thread: 12, query: null } }這個(gè)結(jié)構(gòu)里op字段明確標(biāo)識(shí)操作類型ccreate, uupdate, ddelete, rreadbefore/after提供變更前后快照source攜帶精確位點(diǎn)信息。Flink消費(fèi)時(shí)可直接用DebeziumDeserializationSchema解析無(wú)需手寫反序列化邏輯。更重要的是Debezium內(nèi)置了斷點(diǎn)續(xù)傳能力當(dāng)Kafka集群臨時(shí)不可用它會(huì)將未提交的binlog位點(diǎn)持久化到Kafka內(nèi)部主題如schema-changes.inventory恢復(fù)后自動(dòng)從斷點(diǎn)拉取避免數(shù)據(jù)丟失。提示Debezium不是萬(wàn)能的。它對(duì)Oracle的支持依賴XStream API需額外部署Oracle GoldenGate對(duì)SQL Server則需開啟CDC功能并授予db_owner權(quán)限。這些都不是配置開關(guān)而是需要DBA深度配合的生產(chǎn)級(jí)改造。2.2 流量整形如何讓狂暴的數(shù)據(jù)庫(kù)變更流變得溫順可控?cái)?shù)據(jù)庫(kù)的變更流量從來(lái)不是勻速的。電商大促時(shí)訂單庫(kù)每秒產(chǎn)生上萬(wàn)條UPDATE而凌晨批處理任務(wù)執(zhí)行時(shí)又可能連續(xù)幾分鐘無(wú)任何變更。這種脈沖式流量會(huì)直接沖擊Kafka和FlinkKafka分區(qū)負(fù)載不均導(dǎo)致部分Broker CPU飆升Flink TaskManager因背壓backpressure觸發(fā)反壓機(jī)制進(jìn)而拖慢整個(gè)作業(yè)。我們的解決方案是“雙緩沖動(dòng)態(tài)限速”第一層緩沖在Debezium Connector配置中啟用snapshot.modeinitial首次全量快照時(shí)將表數(shù)據(jù)分片導(dǎo)出為多個(gè)Kafka消息批次每批次大小限制在1MB以內(nèi)通過(guò)max.batch.size1000和max.queue.size8192控制避免單次發(fā)送過(guò)大消息阻塞網(wǎng)絡(luò)第二層緩沖在Kafka Topic層面為每個(gè)業(yè)務(wù)庫(kù)創(chuàng)建獨(dú)立Topic并設(shè)置retention.ms6048000007天同時(shí)啟用Log Compactioncleanup.policycompact確保即使消費(fèi)者短暫離線也能通過(guò)key-based去重獲取最新?tīng)顟B(tài)動(dòng)態(tài)限速在Flink作業(yè)啟動(dòng)時(shí)通過(guò)FlinkKafkaConsumer.setStartFromSpecificOffsets()指定起始o(jì)ffset并結(jié)合Kafka AdminClient實(shí)時(shí)監(jiān)控各分區(qū)lag。當(dāng)某分區(qū)lag超過(guò)閾值如5000條自動(dòng)觸發(fā)ExecutionEnvironment.setParallelism()降低該作業(yè)的并行度待lag回落后再恢復(fù)——這個(gè)邏輯封裝在自定義LagAwareSourceFunction中實(shí)測(cè)可將P99延遲從12s壓至800ms內(nèi)。注意別迷信“無(wú)限擴(kuò)容”。我們?cè)o一個(gè)日增20億事件的用戶行為庫(kù)配置了128個(gè)Kafka分區(qū)結(jié)果發(fā)現(xiàn)Flink消費(fèi)端因協(xié)調(diào)開銷過(guò)大CPU利用率反而下降15%。最終通過(guò)業(yè)務(wù)域拆分user_click、user_search、user_profile將單Topic降為3個(gè)每個(gè)分區(qū)數(shù)控制在32以內(nèi)整體吞吐提升40%。2.3 元數(shù)據(jù)治理沒(méi)有Schema Registry實(shí)時(shí)數(shù)倉(cāng)就是沙上筑塔當(dāng)上游數(shù)據(jù)庫(kù)字段變更時(shí)比如訂單表新增discount_amount字段若下游Flink作業(yè)仍按舊Schema解析輕則拋出NullPointerException重則將新字段值錯(cuò)誤映射到其他列導(dǎo)致指標(biāo)污染。我們?cè)虼嗽谝淮未黉N活動(dòng)中將優(yōu)惠金額誤算為訂單ID造成實(shí)時(shí)GMV報(bào)表連續(xù)3小時(shí)失真。解決方案是引入Confluent Schema Registry但它不是簡(jiǎn)單裝個(gè)服務(wù)就完事。關(guān)鍵在于Schema演進(jìn)策略的落地兼容性規(guī)則在Registry中為每個(gè)Topic設(shè)置compatibility.levelBACKWARD向后兼容即新Schema必須能解析舊數(shù)據(jù)。例如新增字段必須設(shè)為null默認(rèn)值刪除字段需標(biāo)記為deprecated注冊(cè)時(shí)機(jī)Debezium本身不主動(dòng)注冊(cè)Schema。我們?cè)贔link作業(yè)中嵌入KafkaAvroDeserializer并在open()方法中調(diào)用schemaRegistry.register(topic -value, schema)確保每次作業(yè)啟動(dòng)都校驗(yàn)Schema一致性異常熔斷當(dāng)register()返回409 ConflictSchema不兼容時(shí)作業(yè)不啟動(dòng)而是拋出IncompatibleSchemaException并告警。運(yùn)維人員需人工確認(rèn)變更影響范圍再?zèng)Q定是升級(jí)下游作業(yè)還是回滾上游DDL。這套機(jī)制讓我們?cè)诎肽陜?nèi)處理了237次數(shù)據(jù)庫(kù)Schema變更0次因Schema不匹配導(dǎo)致的數(shù)據(jù)事故。它把原本需要人工介入的“救火”場(chǎng)景變成了自動(dòng)化校驗(yàn)的“守門”動(dòng)作。3. 傳輸層Kafka不是管道而是有記憶、會(huì)思考的交通調(diào)度中心很多團(tuán)隊(duì)把Kafka當(dāng)成一個(gè)黑盒消息隊(duì)列只關(guān)注acksall和replication.factor3這些基礎(chǔ)參數(shù)。但在實(shí)時(shí)數(shù)倉(cāng)場(chǎng)景下Kafka必須承擔(dān)起“狀態(tài)協(xié)調(diào)者”的角色它要記住誰(shuí)消費(fèi)到了哪要預(yù)判流量擁堵點(diǎn)還要在故障時(shí)保證數(shù)據(jù)不丟、不錯(cuò)、不亂序。這需要深入理解其底層機(jī)制。3.1 分區(qū)設(shè)計(jì)為什么“按業(yè)務(wù)主鍵哈希”是最大誤區(qū)初學(xué)者常認(rèn)為把訂單ID做hash均勻打到Kafka各分區(qū)就能實(shí)現(xiàn)負(fù)載均衡。但實(shí)時(shí)數(shù)倉(cāng)的核心需求是事件時(shí)間event time有序性。一個(gè)訂單的生命周期包含created→paid→shipped→delivered多條事件它們可能因網(wǎng)絡(luò)抖動(dòng)、應(yīng)用重試等原因以亂序到達(dá)Kafka。如果這些事件分散在不同分區(qū)Flink的KeyedProcessFunction就無(wú)法基于同一個(gè)key做狀態(tài)累積比如統(tǒng)計(jì)訂單從創(chuàng)建到發(fā)貨的耗時(shí)。正確做法是按業(yè)務(wù)邏輯域時(shí)間窗口組合分區(qū)。以電商訂單為例創(chuàng)建事件order_created分區(qū)鍵 order_id % 16支付事件order_paid分區(qū)鍵 order_id % 16發(fā)貨事件order_shipped分區(qū)鍵 order_id % 16這樣同一訂單的所有事件必然落在同一分區(qū)Flink消費(fèi)時(shí)可通過(guò)keyBy(order_id)確保狀態(tài)嚴(yán)格按key隔離。而16這個(gè)數(shù)字不是拍腦袋定的我們通過(guò)kafka-producer-perf-test.sh壓測(cè)發(fā)現(xiàn)當(dāng)分區(qū)數(shù)超過(guò)32時(shí)單Producer吞吐增長(zhǎng)趨緩但Consumer Group協(xié)調(diào)開銷顯著上升。16是吞吐與協(xié)調(diào)成本的最優(yōu)平衡點(diǎn)。提示別忽略Topic級(jí)別的min.insync.replicas2。當(dāng)ISRIn-Sync Replicas數(shù)量低于此值Producer會(huì)拒絕寫入。我們?cè)蛞慌_(tái)Broker磁盤滿導(dǎo)致ISR縮容所有寫入阻塞引發(fā)上游應(yīng)用超時(shí)雪崩。建議配合Prometheus監(jiān)控kafka_server_replicafetchermanager_max_lag指標(biāo)閾值設(shè)為10000。3.2 消費(fèi)者組管理如何避免“一人開車全車陪等”的資源浪費(fèi)Flink作業(yè)默認(rèn)使用group.id作為Kafka Consumer Group ID。問(wèn)題在于當(dāng)作業(yè)重啟時(shí)Consumer Group會(huì)重新加入?yún)f(xié)調(diào)觸發(fā)Rebalance。在此期間所有Partition的消費(fèi)都會(huì)暫停直到新分配完成。對(duì)于高QPS場(chǎng)景幾秒的暫停就可能導(dǎo)致Kafka lag飆升。我們的優(yōu)化方案是靜態(tài)成員資格Static Membership在Flink Kafka Consumer配置中添加group.instance.idflink-job-{jobId}其中{jobId}為作業(yè)唯一標(biāo)識(shí)設(shè)置session.timeout.ms600001分鐘heartbeat.interval.ms2000020秒這樣即使作業(yè)重啟只要group.instance.id不變Kafka Coordinator就認(rèn)為是同一實(shí)例“短暫離線”不會(huì)觸發(fā)RebalancePartition所有權(quán)保持不變。實(shí)測(cè)效果某支付對(duì)賬作業(yè)重啟耗時(shí)從平均42秒降至3.2秒P95延遲波動(dòng)從±1500ms收窄至±200ms。這個(gè)改動(dòng)不需要修改任何業(yè)務(wù)代碼只需在FlinkKafkaConsumer構(gòu)造時(shí)傳入配置Map。3.3 Exactly-once語(yǔ)義Kafka事務(wù)不是開關(guān)而是一套精密齒輪Flink官方文檔強(qiáng)調(diào)“Kafka 0.11支持端到端exactly-once”但很多團(tuán)隊(duì)配置了enable.idempotencetrue和isolation.levelread_committed后仍出現(xiàn)數(shù)據(jù)重復(fù)。根本原因在于exactly-once是Flink Checkpoint、Kafka Producer事務(wù)、Kafka Consumer Offset提交三者協(xié)同的結(jié)果缺一不可。我們梳理出必須滿足的五個(gè)條件Flink作業(yè)啟用Checkpointenv.enableCheckpointing(30000, CheckpointingMode.EXACTLY_ONCE)Kafka Consumer設(shè)置enable.auto.commitfalse由Flink在Checkpoint成功后統(tǒng)一提交offsetKafka Producer啟用事務(wù)transactional.idflink-prod-{jobId}且max.in.flight.requests.per.connection1禁用pipeline避免亂序Flink Sink使用FlinkKafkaProducer的Semantic.EXACTLY_ONCE模式Kafka Broker端配置transaction.max.timeout.ms90000015分鐘大于Flink Checkpoint間隔。最易被忽視的是第5條。當(dāng)Flink Checkpoint耗時(shí)超過(guò)Broker默認(rèn)的transaction.max.timeout.ms600001分鐘時(shí)Kafka會(huì)主動(dòng)abort事務(wù)導(dǎo)致Producer報(bào)ProducerFencedException作業(yè)崩潰。我們?cè)虼嗽谝淮稳繑?shù)據(jù)導(dǎo)入時(shí)頻繁失敗最終將該參數(shù)調(diào)至15分鐘并將Checkpoint間隔設(shè)為30秒形成安全冗余。注意啟用事務(wù)會(huì)帶來(lái)約15%的吞吐?lián)p耗。對(duì)于日志類弱一致性要求的數(shù)據(jù)可降級(jí)為Semantic.AT_LEAST_ONCE但核心交易數(shù)據(jù)必須死守exactly-once。4. 計(jì)算層Flink不是流式MapReduce而是有狀態(tài)的實(shí)時(shí)操作系統(tǒng)把Flink當(dāng)作“流式版Spark”是最大的認(rèn)知偏差。Flink的核心競(jìng)爭(zhēng)力在于狀態(tài)State的本地化、增量式、容錯(cuò)化管理。它讓開發(fā)者能像操作內(nèi)存變量一樣處理TB級(jí)歷史數(shù)據(jù)而這正是實(shí)時(shí)數(shù)倉(cāng)實(shí)現(xiàn)復(fù)雜指標(biāo)如用戶最近7天活躍設(shè)備數(shù)、訂單履約時(shí)效分布的基礎(chǔ)。4.1 狀態(tài)后端選型RocksDB不是銀彈FS State更適合中小規(guī)模Flink提供MemoryStateBackend、FsStateBackend、RocksDBStateBackend三種狀態(tài)后端。很多教程無(wú)腦推薦RocksDB理由是“支持大狀態(tài)”。但我們?cè)谝粋€(gè)日處理5億事件的廣告歸因項(xiàng)目中發(fā)現(xiàn)當(dāng)狀態(tài)總量達(dá)80GB時(shí)RocksDB的JNI調(diào)用開銷導(dǎo)致TaskManager Full GC頻率從每小時(shí)2次升至每分鐘1次CPU持續(xù)95%以上。根本原因是RocksDB將狀態(tài)存于本地磁盤每次狀態(tài)訪問(wèn)需經(jīng)過(guò)JVM堆外內(nèi)存拷貝。而FsStateBackend將狀態(tài)序列化后存于HDFS或S3雖然訪問(wèn)延遲略高毫秒級(jí)但規(guī)避了JNI瓶頸。我們做了對(duì)比測(cè)試狀態(tài)后端50GB狀態(tài)P95處理延遲CPU利用率恢復(fù)時(shí)間從CheckpointRocksDB1200ms89%4.2分鐘FsStateBackend (HDFS)850ms63%2.1分鐘結(jié)論很清晰當(dāng)狀態(tài)總量100GB且集群I/O帶寬充足時(shí)FsStateBackend是更穩(wěn)的選擇。它把狀態(tài)管理壓力從TaskManager轉(zhuǎn)移到了分布式文件系統(tǒng)而HDFS/S3的擴(kuò)展性遠(yuǎn)高于單機(jī)磁盤。提示FsStateBackend需配置state.checkpoints.dir指向高可用存儲(chǔ)如hdfs://ha-nn/user/flink/checkpoints并啟用state.savepoints.dir分離Savepoint路徑。切勿將Checkpoint存于本地磁盤否則機(jī)器宕機(jī)即丟失全部狀態(tài)。4.2 Watermark機(jī)制時(shí)間不是標(biāo)尺而是需要校準(zhǔn)的羅盤實(shí)時(shí)數(shù)倉(cāng)的“實(shí)時(shí)”是基于事件時(shí)間event time而非處理時(shí)間processing time。但網(wǎng)絡(luò)延遲、設(shè)備時(shí)鐘漂移、日志采集延遲會(huì)導(dǎo)致事件時(shí)間戳嚴(yán)重失真。比如用戶在北京時(shí)間14:00:00下單因手機(jī)網(wǎng)絡(luò)差日志14:00:15才上報(bào)事件時(shí)間戳卻是14:00:00。若Flink直接按此時(shí)間觸發(fā)窗口會(huì)漏掉14:00:00~14:00:15間的真實(shí)事件。Watermark就是用來(lái)解決這個(gè)問(wèn)題的“水位線”。它的本質(zhì)是一個(gè)單調(diào)遞增的時(shí)間戳代表“早于該時(shí)間的所有事件均已到達(dá)”。Flink據(jù)此判斷窗口是否可以關(guān)閉。我們采用周期性Watermark生成器并做了兩項(xiàng)關(guān)鍵定制亂序容忍窗口WatermarkStrategy.forBoundedOutOfOrderness(Duration.ofSeconds(30))即允許最多30秒亂序。這個(gè)30秒不是拍腦袋而是通過(guò)分析Kafka Topic的__consumer_offsetslag分布得出的P99值空閑檢測(cè)withIdleness(Duration.ofMinutes(1))當(dāng)某分區(qū)連續(xù)1分鐘無(wú)數(shù)據(jù)Flink會(huì)停止為其生成Watermark避免因個(gè)別分區(qū)卡頓拖垮全局進(jìn)度。最危險(xiǎn)的誤區(qū)是“全局Watermark”。我們?cè)谝粋€(gè)跨地域數(shù)據(jù)同步項(xiàng)目中將北京、上海、深圳三地Kafka集群的Watermark取最小值作為全局Watermark。結(jié)果深圳機(jī)房網(wǎng)絡(luò)抖動(dòng)其Watermark停滯導(dǎo)致全局窗口永遠(yuǎn)無(wú)法觸發(fā)。正確做法是每個(gè)Kafka分區(qū)獨(dú)立生成WatermarkFlink內(nèi)部自動(dòng)取最小值這是FlinkKafkaConsumer的默認(rèn)行為無(wú)需額外編碼。4.3 窗口函數(shù)滾動(dòng)窗口不是唯一解會(huì)話窗口才是業(yè)務(wù)真相實(shí)時(shí)數(shù)倉(cāng)中80%的指標(biāo)需求本質(zhì)是“用戶會(huì)話”一次完整的瀏覽-搜索-加購(gòu)-下單行為鏈。用固定時(shí)間窗口如TUMBLING WINDOW 5分鐘強(qiáng)行切割會(huì)割裂真實(shí)會(huì)話。比如用戶14:00:00開始瀏覽14:04:59下單14:05:01又發(fā)起售后咨詢——5分鐘窗口會(huì)把前兩步分到不同窗口導(dǎo)致轉(zhuǎn)化率計(jì)算失真。我們的標(biāo)準(zhǔn)解法是會(huì)話窗口Session Windowstream.keyBy(event - event.userId) .window(ProcessingTimeSessionWindows.withGap(Time.minutes(30))) .aggregate(new SessionAgg(), new SessionResult())這里30分鐘是會(huì)話超時(shí)閾值指用戶兩次行為間隔超過(guò)30分鐘即視為新會(huì)話開始。但注意ProcessingTime Session Window基于處理時(shí)間無(wú)法應(yīng)對(duì)數(shù)據(jù)延遲。更優(yōu)解是EventTime Session Window需配合Watermarkstream.assignTimestampsAndWatermarks( WatermarkStrategy.EventforBoundedOutOfOrderness(Duration.ofSeconds(10)) .withTimestampAssigner((event, timestamp) - event.eventTimeMs) ) .keyBy(event - event.userId) .window(EventTimeSessionWindows.withGap(Time.minutes(30))) .aggregate(new SessionAgg());實(shí)測(cè)表明EventTime Session Window將用戶行為路徑還原準(zhǔn)確率從72%提升至99.3%為后續(xù)的漏斗分析、歸因模型提供了干凈數(shù)據(jù)源。5. 存儲(chǔ)層OLAP不是終點(diǎn)而是實(shí)時(shí)與離線的交匯樞紐實(shí)時(shí)數(shù)倉(cāng)的終極目標(biāo)不是把數(shù)據(jù)“快”地存起來(lái)而是讓數(shù)據(jù)“活”起來(lái)——能被BI工具秒級(jí)查詢、被算法模型實(shí)時(shí)訓(xùn)練、被運(yùn)營(yíng)活動(dòng)即時(shí)觸發(fā)。這就要求存儲(chǔ)層具備高并發(fā)點(diǎn)查、低延遲聚合、強(qiáng)一致更新、無(wú)縫離線對(duì)接四大能力。單一存儲(chǔ)引擎無(wú)法兼顧必須分層設(shè)計(jì)。5.1 實(shí)時(shí)明細(xì)層Doris為何成為我們的首選我們?cè)u(píng)估過(guò)ClickHouse、StarRocks、Doris原Apache Doris三款MPP引擎。ClickHouse寫入性能強(qiáng)悍但更新能力弱需ReplacingMergeTree無(wú)法支持訂單狀態(tài)的實(shí)時(shí)覆蓋StarRocks功能全面但社區(qū)版缺乏企業(yè)級(jí)權(quán)限管控審計(jì)日志不完善Doris在2023年發(fā)布的2.0版本中正式支持PRIMARY KEY模型和UPSERT語(yǔ)義完美匹配實(shí)時(shí)數(shù)倉(cāng)的“狀態(tài)更新”需求。以訂單明細(xì)表為例我們建表語(yǔ)句如下CREATE TABLE IF NOT EXISTS ods_order_detail ( order_id VARCHAR(64) COMMENT 訂單ID, user_id BIGINT COMMENT 用戶ID, status TINYINT COMMENT 訂單狀態(tài)1-創(chuàng)建,2-支付,3-發(fā)貨,4-完成, amount DECIMAL(18,2) COMMENT 訂單金額, create_time DATETIME COMMENT 創(chuàng)建時(shí)間, update_time DATETIME COMMENT 更新時(shí)間, etl_time DATETIME COMMENT ETL時(shí)間 ) UNIQUE KEY(order_id) DISTRIBUTED BY HASH(order_id) BUCKETS 32 PROPERTIES(replication_num 3);關(guān)鍵點(diǎn)在于UNIQUE KEY(order_id)當(dāng)同order_id的新記錄寫入時(shí)Doris自動(dòng)按order_id進(jìn)行upsert舊記錄被新記錄覆蓋。Flink作業(yè)只需配置DorisSink將變更事件流直連寫入無(wú)需任何中間ETL腳本。我們壓測(cè)結(jié)果單節(jié)點(diǎn)Doris32核128G可支撐每秒5000次UPSERTP95延遲150ms10節(jié)點(diǎn)集群下QPS達(dá)4萬(wàn)且SELECT COUNT(*) FROM ods_order_detail WHERE status2 AND DATE(create_time)2023-10-01響應(yīng)時(shí)間穩(wěn)定在300ms內(nèi)。提示Doris的BUCKETS數(shù)需與DISTRIBUTED BY HASH字段的基數(shù)匹配。order_id基數(shù)超10億時(shí)BUCKETS32會(huì)導(dǎo)致單Bucket數(shù)據(jù)量過(guò)大建議按order_id % 1024分桶再設(shè)BUCKETS1024。5.2 實(shí)時(shí)聚合層Materialized View不是語(yǔ)法糖而是性能倍增器實(shí)時(shí)明細(xì)層解決了“查得到”但BI報(bào)表常需SUM(amount) GROUP BY province這類聚合。若每次查詢都掃描全表延遲必然飆升。Doris的物化視圖Materialized View正是為此而生。我們?yōu)橛唵伪韯?chuàng)建了兩個(gè)MV-- 按省份匯總的實(shí)時(shí)GMV CREATE MATERIALIZED VIEW mv_province_gmv AS SELECT province, SUM(amount) AS gmv, COUNT(*) AS order_cnt FROM ods_order_detail WHERE status IN (2,3,4) GROUP BY province; -- 按小時(shí)粒度的訂單趨勢(shì) CREATE MATERIALIZED VIEW mv_hourly_trend AS SELECT DATE_TRUNC(hour, create_time) AS hour, COUNT(*) AS order_cnt, AVG(amount) AS avg_amount FROM ods_order_detail GROUP BY DATE_TRUNC(hour, create_time);Doris會(huì)自動(dòng)監(jiān)聽(tīng)基表變更增量更新MV。BI工具查詢mv_province_gmv時(shí)無(wú)需指定MV名優(yōu)化器自動(dòng)路由。實(shí)測(cè)顯示原需8秒的聚合查詢MV命中后降至120ms性能提升66倍。注意MV不支持JOIN和子查詢。復(fù)雜指標(biāo)如“各省支付成功率支付訂單數(shù)/創(chuàng)建訂單數(shù)”需在Flink中預(yù)計(jì)算寫入獨(dú)立聚合表而非依賴MV。5.3 離線融合層Hive不是備胎而是實(shí)時(shí)能力的放大器實(shí)時(shí)數(shù)倉(cāng)絕非取代離線數(shù)倉(cāng)而是與之協(xié)同。我們的架構(gòu)中Doris負(fù)責(zé)T0實(shí)時(shí)查詢Hive負(fù)責(zé)T1深度分析。兩者通過(guò)統(tǒng)一元數(shù)據(jù)增量同步打通元數(shù)據(jù)統(tǒng)一使用AWS Glue Catalog或阿里云DataWorks MetastoreDoris和Hive共享同一套表結(jié)構(gòu)定義增量同步Flink作業(yè)除寫Doris外還寫入Hive ACID表INSERT INTO hive_db.ods_order_detail SELECT * FROM kafka_source利用Hive的INSERT OVERWRITE實(shí)現(xiàn)分區(qū)級(jí)原子更新混合查詢Trino原PrestoSQL作為統(tǒng)一查詢引擎可跨Doris和Hive表JOIN。例如實(shí)時(shí)大屏展示“今日各省GMV”同時(shí)關(guān)聯(lián)Hive中“近30天用戶畫像標(biāo)簽”實(shí)現(xiàn)精準(zhǔn)營(yíng)銷。這套架構(gòu)讓我們?cè)凇?18大促”期間既能秒級(jí)響應(yīng)運(yùn)營(yíng)的實(shí)時(shí)看板需求又能支撐算法團(tuán)隊(duì)每小時(shí)跑一次的用戶流失預(yù)警模型資源復(fù)用率達(dá)83%。6. 全鏈路監(jiān)控沒(méi)有監(jiān)控的實(shí)時(shí)數(shù)倉(cāng)就像沒(méi)有儀表盤的賽車最后也是最容易被忽視的一環(huán)監(jiān)控。實(shí)時(shí)數(shù)倉(cāng)的復(fù)雜性決定了它不可能永遠(yuǎn)不出問(wèn)題。監(jiān)控的目標(biāo)不是“不報(bào)警”而是“報(bào)警即定位”把平均故障修復(fù)時(shí)間MTTR壓縮到分鐘級(jí)。我們構(gòu)建了三層監(jiān)控體系基礎(chǔ)設(shè)施層KafkaUnderReplicatedPartitions,RequestHandlerAvgIdlePercent、FlinknumRecordsInPerSecond,lastCheckpointSize、DorisQueryQueueLength,LoadJobRunningCount數(shù)據(jù)質(zhì)量層基于Flink的MetricGroup自定義指標(biāo)如kafka_lag_per_partition、watermark_delay_ms、doris_upsert_fail_rate業(yè)務(wù)語(yǔ)義層在Flink作業(yè)中嵌入校驗(yàn)邏輯例如“每分鐘訂單創(chuàng)建數(shù)應(yīng)≥支付數(shù)”當(dāng)create_cnt paid_cnt * 0.95持續(xù)5分鐘觸發(fā)BusinessAnomalyAlert。所有指標(biāo)接入Grafana我們最關(guān)鍵的看板是“端到端延遲熱力圖”橫軸為業(yè)務(wù)時(shí)間小時(shí)縱軸為數(shù)據(jù)鏈路環(huán)節(jié)Kafka Ingest → Flink Process → Doris Write顏色深淺代表P95延遲。當(dāng)某格變紅運(yùn)維可立即下鉆到對(duì)應(yīng)環(huán)節(jié)的詳細(xì)指標(biāo)5分鐘內(nèi)定位根因。最后分享一個(gè)血淚教訓(xùn)某次凌晨Doris集群因磁盤IO飽和QueryQueueLength飆升至200但Grafana告警閾值設(shè)為150導(dǎo)致值班工程師誤判為“偶發(fā)抖動(dòng)”未及時(shí)擴(kuò)容。結(jié)果3小時(shí)后所有實(shí)時(shí)報(bào)表超時(shí)業(yè)務(wù)方電話打爆。此后我們將所有核心指標(biāo)的告警策略改為“連續(xù)3個(gè)周期超閾值即告警”并增加短信電話雙通道通知。技術(shù)再先進(jìn)監(jiān)控不到位一切歸零。全文共計(jì)5820字
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
99色视频| 性色av婷婷久久一区二区点复制| 青草香蕉网| 亚洲熟女乱色一区二区三区| 超碰综合97在线| 蜜臀国产AV中文字幕| 国产福利一区二| 一区超碰一区| 伊人久久亚洲色欲综合网站 | 男人的天堂一区| 91色碰| 思思热免费在线视频| 极品少妇久久久| 亚洲一区二区 麻豆传媒| 婷婷尹人大香蕉免费| 东京热男人的天堂精品| 日韩精品一区二区日韩| 91在线欧美| 日本黄色精品| 视频不卡中文字幕| 亚洲一区日韩精品中文字幕| 麻豆一区二区三区在线看| 日韩欧亚中文在线| 人人妻天天做天天爽| 亚洲揄拍网| 婷婷亚洲中文字幕在线| 亚洲天堂综合AV| 久久久久久国产无码精品| 日韩熟女操逼| 一级片视频啪啪| 天天操天天舔| 日韩精品 欧美激情| 精品国产乱码久久久兰草影视| 国产天天骚| 久久黄黄| 久久久专区| 91红杏| 日韩无码嘿咻黑热久| 亚洲欧美国产日本一区二区三区| 在线国产一区二区av| 免费超碰97在线观看| 97在线视频观看网站| 中文字幕日韩精品久久| 亚洲无码超碰免费| 欧美精品99久久久**| 91超碰人人操| 九九九九九九精品| 国产农村妇女毛片精品久久| 九t超碰| 91观看 国产白丝| 午夜噜噜噜| 久久久91| 亚洲欧美综合| 欧美性爱18观看| 在线视频 亚洲精品| 亚洲欧美另类小说| 少妇一级无码精品| 三级色综合| 91人人臊| 丰满少妇一区二区三区专区| 97人人中文网| 97天天插| 九九久久玖玖| 都市久久精品激情亚洲| 玖玖资源综合在线视频| 欧美 亚洲 偷拍自拍| 国产 日韩 另类 视频一区爱| 十八禁视频网站| 夜夜爽77777| 日本中文字幕高跟| 人妻无码一区二区三区久久99| 少妇精品久久久八区九区| 国产热av| 欧美特大黄一级片片免费| 日韩在线观看中文字幕视频| 大香蕉宗合网在线| 成年人免费观看网站| 亚洲骚男同com| 久久的免费性爱视频| 国产中文精品一区二区在线观看| 日韩另类色图| 久久久久久久| 在线无码网站| www.操| 欧美肥臀在线| 黄色一区二区秘书性感| 激情丁香五月| 99re28在线观看| 日B操| 色欲蜜臀AV| 熟妇熟女亚洲天堂网| 日韩啪啪啪视频| 中国熟妇| 日本色色色视频| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 女人爽到高潮潮喷18禁网站| 中文97国产| 欧洲色综合| 强奸乱伦大香蕉| 青娱乐 成人娱乐在线| oumeizonghese,www| 青草成人免费视频一COm| 中文精品一区二去| 中文一区二区婷婷视频| 中文字幕视频二区| 人人天天欧洲| 欧美日韩久久精品爱爱| 大香蕉啪啪啪| 久久大香蕉97| 久久久久9999| 欧色网址| 成人夜夜爽| 久久精品超碰| 人妻少妇一区二区| 91视频伊人| 97爱欧美| 国产精品麻豆免费视频| B049AV在线播放| 欧美gv在线观看| 爱射综合| 日本欧美韩国国产在线| 蜜桃色院一区久久 | 1024香蕉视频| 青青在线视频日韩欧美| 国产黄a三级三级三级av在线看| 91少妇高潮| 黄片不用下载在线观看| 精品少妇一区二区| 九九99精品视频在线观看| 亚洲的天堂网| 簧片免费看视频| 国产人妻精品一区二区三区秋霞| 中文字幕性感少妇av| 91痴汉| 国产综合操逼高清| 国产精品另类一区大香蕉| 人人干人人操人人..com| 亚州 综合 色图| a一区二区三区乱码在线| 艳尻美人妻| 国产精品人妻熟女aⅴ| 成人五月天色网| 国产久久av| 人妻熟女一区二区| 91久久久久久| 亚洲蜜乳av| 中文字幕二区| 一区二区三区精品黑丝白丝酒店对鸡| 国产白丝av| 一区二区三区 丝袜 高跟 美腿| 亚洲精品九九九| 99爱久久视频频| 色屁屁影院www国产| 热热热热日日漂亮永久永久国产日| 国产精品亚洲天堂网址| 国产精选视频| 一区二区三区四区久久视1| 操婢日韩| 97久久精品| 久久后入制服| 国产精品对白内射| 亚洲天天影视色综合| 搡老人老9丨女老熟人| K8久久久久| 日本淫色网| 国产AV毛片| 密臀在线一区尤物| 超碰午夜| 天天综合影院91| 日本操嫩b网| 精品国产乱码久久久久久网站入口| www.操| 午夜天堂啪啪| 国产精品久久久久亚洲av| 国产精品日日摸天天碰| 东京热av男人的天堂| 国产一级αv免费看片| 亚洲91在线| 97情超碰色| 欧美 亚洲 大香| 免费精品福利在线观看| 99老司机精品视频在线观看| 国产91美女视频| 樱花草社区www中国| 亚洲春色激情小说| 五月天婷婷综合| 密乳无码| 26uuu成人影片| 色噜噜人妻av中文字幕| 情色五月天网| 亚洲成人精品久久久| 国产精品久久妻无码网站| 国产伊人精品在线| 欧美偷偷网| 97大色网| 97资源欧美| 99热思思| 牛黄色久午久| 涩涩涩综合| 午夜精品久久久| 啊啊啊 在线| 好看的久久不射无码影视影院| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 97av,com| 操死我了嗯嗯嗯| 久久欧美按摩999| 日韩三级天堂在线观看| 色综合久久av| 日本东京热加勒比久久| 欧美色宗合| 久久精品区| 婷婷久草| 97资源站国产精品| 日本国产二线女色| 精品超碰色| 怡红院亚洲怡春院av| 乱老熟女一区二区三区| 日韩伦理视频| 99久久综合| 影音综合网| 色五月婷婷五月天| 久久99热这里只频精品6学生| 99日精品欧美国产| 爱爱60秒免费视频| 丝袜熟女2P| 国产精品91一样| 狠狠五月天| 婬女免费一二三区A片| 久久精品国产亚洲AV成人直播| 亚洲免费成人精品电影| 日本精品高清一二区一本到| 亚洲综合一区二区| 九色 蝌蚪 熟女自 | 狠狠干妹子| 久久久久久久久久久精| 精品十八在线观看| 国产91 丝袜在线播放00-百度| 久久老熟女| 精品日日人妻| aa片毛片| 国产欧美精选激情视频| 人人干人人操人人..com| 人人插人人搞人人操| 男人的天堂2010| 亚洲男人的天堂亚洲| 久悠悠av| 青青草日韩免费观看高清在线| 熟女露脸激情自拍视频| 97欧美日韩精品| 欧美在线91| 欧美不卡在线一区二区| 国产亚洲精品第一最新| 91蜜臀熟女| 91美乳| 色网在线| 天天操天天日青青草超碰av| 国产呦精品系列在线观看| 日韩免费三级黄片电影| 国产亚洲中文不卡二区| 亚州精人品大香蕉| 在线黄色污污网站| 午夜精品久久久久久久久久久久久| 啪啪视频免费在线观看| 日韩黄片视频试看| 亚洲欧美精品91| 欧美爆操91| 国产精品夜夜夜| 熟女人妻一区二区三区| 五月天黄色激情视频| 熟女一区二区| 中文字幕精品三级久久久| 亚洲网站一区二区在线| 少妇干B| 顶级少妇BT天堂| 精品久操| 久久久亚洲高清不打码| 精品国产污一区二区三区| 天天操天天谢| 波多野结衣AV无码一区| 九九热免费视频| 天综合网欧美| 91社区伊人| 99无码视频| 嗯嗯啊啊好大好爽| 色视频蜜乳| 国产丝袜视频| 97se亚洲综合自| 久久久久亚洲Aⅴ无码| julia在线观看久久| 91狠狠综合久久| 免费一级黄色录像影片| 伊人久久国产免费观看视频| 亚洲精品乱码久久久久久蜜桃麻豆| 黄色大片免费在线| 精品国产网站| 国产精品96| 日韩乱码Av| 久草这里只有精品 | 日欧美色| 屁股久久久久久| 欧美在线干| 免费看黄片现成| 亚洲欧美精品91| 情色五月天就去干| 亚洲操逼视频网站| 亚欧美色图| 日本性爱网址| 东京热,男人的天堂| 国语国产操逼伊人AV网| 97国产色图 | 久久超碰国产一区二区三区| 精品久久在线区一区| 99re99在线视频| 欧美成va视频网站| 97操综合| 91九久| 老熟女91| 欧美日韩淫加| 国产一在线观看| 天堂亚洲精品久久老牛| 久久久无码av精| 99超碰碰| 国产有码一区| 草草影院最新网址| 97视频免费在线| 色色色欧美| 九七人妻在线| 亚洲五月丁香花狠狠干一区二区三区 | 97香蕉网| 大香蕉天天看妹子| 久久婷婷综合国际产色怕| 亚洲美女色图| 久久久久久久亚洲Av无码| 亚洲蜜臀视频精品久久| 亚州伊人色综台| 五月丁香黄色网| 欧美日韩亚洲高清不卡一区二区三区| 人人操人人操人人人操| 一区超碰一区| 少妇同性| 色9999日韩国产| 大香蕉久久| 久久成年精品| 免费人成?大片在线播放| 综合97| 闷骚老熟女15P| 人妻熟女av国产网站| 97综合激情| 不卡人妻少妇精品毛片一区23区视频| 777AV电影| 五十路一区无码| 欧美一区二区成人一卡| 狠狠综合| 亚洲精品中文字幕一区在线视频| 美女黄网| 久久久久久中文| 亚洲免费精品一区| AV 少妇 人妻 偷拍| 激情国产乱伦Av| 亚洲无 码A片在线观看麻豆| 久久华人网| 大香蕉伊人亚洲| 99日精品欧美国产| 26uuu国产日韩综合在线观看| 中韩中文字幕在线观看| 久久久精品中文字幕爱豆| 日韩不卡一二三四| 综合网欧| 97久精品| 熟女精品一区二区三区| 成人免费福利在线观看| 欧美色视频在线| 国产 日韩 欧美一区| 精彩久久中文| 成熟熟女国产精品一区二区| 久久这里精品国产99丫e6| 日本色色色视频| 精品国产Av无码久久久亚洲| 日夜伊人网| 久久是精品| 婷婷精品国产一区二区三区日韩| 精品国产少妇高潮视频| blacked精品一区国产| 亚洲无线码欧洲精品区别| 久久精品熟妇丰满人妻99| 亚洲日韩黑丝| 欧美淫乱视频| 国产精品大屁股999| 熟女AV一区| 色婷婷蜜臀av| 骚逼一区二区| 骚逼一区二区| 久久国产对白激情浪潮| 久99久视频精选| 蜜桃久久综合视频| 亚洲欧洲偷拍一区| 国产精品91一样| 91久久久久免| 1区2区3区在线视频| 加勒比在线视频| 亚洲人人操| 999久久久精品国产| 天天干天天插| 天美国产三级传媒| 一区二区三区四区姦女| 日韩一级二级三级免费看完整版国语版 | 国产后入式在线观看| www久久精品| 中文有码9| 91精品人妻一区二区三区蜜桃| 少妇精品久久| 日韩人妻一二三区视频| 在线看片国产精品每日更新| 亚欧Av| 亚洲人精品久久久喷水| 国产精品一区二区校花| 亚洲,欧美,春色,另类| 人妻少妇色综合| 国产一区二区三区久久精品太古里| 78精品| 综合欧美日韩在线观看| 国精品一区二区三| 亚洲影院成人| 俺去久久| 色狠狠 - 百度| 亚洲色性情三级| 日本506070| 六月天婷婷| 视频黄站| AV九九| 国产人妻久久精品一区二区三区| 欧美日韩国产高清在线一二三区| 日韩黄色小说| 999精品国产高清一区二区| 国产一区自拍欧美日韩| 在线另类| 欧美AB在线| 久草资源在线视频官方总站日韩丝袜美腿| 日韩一级欧美一级国产一级台湾 | 欧美熟女操屄| 屁股久久久久久| 久久久精品日本一道| 搡老女人老91二区| 久久夜色一区二区| 国产AV高清AV无码| 又大又大又大又粗爽高潮观看| 人人喜人人妻| 91天堂色男人的天堂| 日天天九九天堂666| 日韩成人大片在线观看| 囯产精品久久久久久久久久梁医生 | 久久久久人| 99精品网| 久久久亚洲欧美综合| 日日躁天天躁狠狠躁| 精品人妻伦一二三区久久| 啊啊啊啊啊啊在线观看| 2017,超碰| 蜜桃色院一区久久 | 色哟哟-国产专区| 免费超碰97在线观看| 99999亚洲另类| 粉嫩AV一区夜夜嗨| 操一区| 性做久久久久久久| 欧美丰满少妇xx高潮| 欧美大的香蕉有线电视视频 | 啊啊啊快操我视频| 日日日大屁股骚女人精品| 亚洲国产第一页综合视频| 色婷婷激一区二区三区| 国产精品高潮呻吟av久久4虎| 一本色道久久综合狠狠操| 国产精品久久久久久夜夜夜| 澳门人妻久久| 中文有码第五页| 久久综合日韩亚洲欧美| 色呦呦、国产精品| 麻豆九九九| 一区二区首页| 国产精品丝袜久久亚洲不卡| 超碰97在线 欧美 国产| 欧亚第一综合网| #NAME?| 日韩久草| 日韩一级二级三级| 亚洲欧美首页| 国产东北女人在线视频| 精品性爱一区二区| 亚欧精品久久久久久久久久久| 大香樵伊人网| 美女久久久久久久| 高清无码91| 亚洲十八禁止| 欧美激情区| 国内精品久久人妻性色av| 人妻一二三区| 日本欧美成人片AAAA| 日韩AV中文字幕电影| 国产熟妇一区二区| 狠狠97| 天天谢天天干| 亚洲色图超碰在线| 大香蕉啪啪啪啪在线| 青青草影视蜜久久| 91av一区二区在线观看| 美国aaaaa一级黄片| 97婷婷色| 国产精品视频在线播放 | 精品无码久久久久| 国产三级在线现体验区| 综合色色婷婷| 亚洲国内精品成人不卡| A片大香蕉在线| 98一区二区精品| 中字一区| 日韩操p| 超碰色中文| 国产一区二区久久| 国产探花日韩援交| 综合网久久| 青娱乐国产剧情av一区| 激情五月天综合网| 亚洲黄色电影| 综合网欧美在线| 久久丝袜| 成人熟女视频一区二区三区| 久草午夜| 国产熟女一区二区丰满| 日韩av电影成人在线| 大香蕉伊人色偷偷在线| 国产极品美女高潮无套在线观看| 黄色成品网站| 人人射人人操人人摸| 91精品人妻五十路| 日本综合久久| 亚洲中文字幕在现观看| 老司机午夜精品福利视频一区二区| 黄色片A级一区二区三区| AV在线资源| 久久性爱大全| 91免费看中出视频| 欧洲射精91| 在线亚洲 欧美 日本专区| 大鸡吧尹人在线| 亚洲国产欧美一区二区潘金莲| 超碰碰激情97+久| 岛国片国产成人亚洲播放| 天天天操天天天爱| 97人肏| 丝袜美腿制服人妻二区中文字幕 | 亚洲午夜av| 天天综合青苹果| 伦在线97| 99久久久无码| 91久操| 欧美日本中字另类在线| 日韩福利电影网| 色97国产69香蕉| 国产传媒日本欧美专区| 九九99久久| 亚洲精品xxx| 成人午夜高潮av猛片| 久久久久久99999国产精品| 精品一区二区三区四区女| 亚洲精品一区中文字幕乱码| 亚洲欧美成人在线| 乳欲人妻办公室奶水| 日韩黄色片子| 超碰97伊人| julia ann久久| 天天摸夜夜操视频| 天天舔天天日天天射| 综合网~91综合网| 欧美97日韩精品| 91久久久老司机| 久久色一区二区| 大香蕉色网| 91综合国产精品| 国产熟女二区| 加勒比海人人操超碰在线| 超碰九九| 97超碰超碰| 亚洲国产91精品一区二区久久| 亚洲中文字幕在现观看| 被男人吃奶很爽的毛片| 国产亚洲禁久一区二区| 国产成人无码网站在线视频| 凹凸视频特色日本特黄| 欧美强奸乱能| 97超碰欧美手机| 亚州中文字幕超碰97| 麻豆黄站| 日躁天天爽爽| 琪琪精品免费一区二区三区| 国产亚洲精品第一最新| 综合国产97| 亚洲色图 图片| 天堂精品一区| 日本乱人伦片中文三区| 色婷婷久久| 热久日综合| 久草新在线| 亚洲最新a在线观看| 人人妻人人操人人乐| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 久久鲁干| 久草久日| 狠日操| 丁香五月综合| 免费看污网址| 草草影院最新网址| 欧美中文字幕男人天堂久久精品| 天天大干大香蕉| 91狠狠狠| 激情网色| 91九九九小逼| 人妻无一区二区三区| 观看免费区二区三区二| 国产成人在线观看网址| 天天爽天天爽| 九九无码视频| 亚洲天堂资源在线| 日韩97超碰中文字幕| 99热在线播放| 97爱爱爱综合| 在线免费观看高清无码视频| 欧美激情五月天| 中文字幕蜜乳av| 大香蕉97久久| 亚洲成人在线高清| 欧美 亚洲 综合 制服 另类| 特级丰满少妇一级AAAA爱毛片| 91网站18在线| 国产视频不卡在线观看| 操久久久久| 五月丁香影视| 超碰日韩人妻| 欧洲亚洲天堂精品 | 91 欧美| 日韩 人妻 精品| 欧美日韩国产三级黄色| 青青草在线视频播放器| 国产不卡精品91| 久综合国内精品自在自线| 51一区二区三区| 手机不卡视频不卡在线一二三区| 啪啪免费| 国产三级片在线观看| 一区| 韩日男人的天堂| 大地资源在线观看中文第二页| 欧美亚洲小说| 玖玖爱视频网站| 91jk色拍| 色妹子A V| 欧美极度丰满熟妇hd| 国产粉嫩蜜臀av一区二区三区| 激情内射| 成人精品水蜜桃久久久久久久| 日韩九区| 俄罗斯一区二区视频在线观看| 欧美日韩亚洲少妇寂寞影院正在播放| 五月开心久久AV官网| 丝袜喷水在线| 亚洲欧美九九九| 亚洲中文字幕噜噜噜久久久| 九九RE视频在线精品| 精品久久久久久AV无码| 久久久久九九九| 天操天操夜操夜月月年年操操| 日本一区99| 97色色国产视频| 日韩精品三区四区| 一区 欧美 日韩 麻豆| 欧美中文字幕男人天堂久久精品 | 久久人人爽人人爽人人片Ⅴ| 免费看久久久性性| 五月婷久久| 人妻天天爽| 黄久久| 婷婷九月国产| 99re99| 天天上日日上日韩精品| 九九九久久久| 亚洲综合影院| 人人澡综合涩| 久久久久人| 日1区2区3区2020| 加勒比色99999| 女生看匆91网站| 三级日本一区二区三区| 啪啪免费| 天天射网| 91精品国| 18禁止看精品中文字幕| 色超碰综合| 久久久99999久网站| 久久这里只精品| 91综合色噜噜| 亚洲福利中文字幕在线| 精品久久久久黄少妇| 九九精品网| 日韩免费高清大片在线| www.av在线观看| 欧美韩国你懂得在线| 大香蕉99999| 黄片aaaaa一区| 丝袜美腿欧美| 91第一页| 日韩免费a级毛片无码a∨| 国产精品视频白浆免费| 欧美色图成人网一区二区 | 91国产精品在线看| 青青草女人天天干| 国产亚洲精品久久久久小| aⅴ日韩成人电影av在线免费看av大全| 开心五月天激情网| 熟女精品一区二区在线观看| 777超碰| 可以看的av| 一区二区三区四区五区久久久久久| 成全动漫视频观看免费下载| 99成人| 欧美性高潮在线| 人人色人人操在线| 熟人人妻少妇精品久久| 色播丁香| 丝袜美腿亚洲| 丰满人妻-区二区三区免费| 情色大香蕉| 99色视频| 女欧美一区二三区| 天天躁夜夜躁狠狠躁AV| 黑人精品成人一区二区三区| 日韩不卡一二三四| 竹菊影视国产一区二区| 97国产超湿| 人妻性爱一区二区| 亚洲性少妇| 黄色小视频日本txt| 亚洲精品熟妇1区2区3区。| 开心五月深爱五月| 日B操| 超碰天天去日穴| 麻豆天美传媒在线视频天堂| 蜜乳Av成人片网站| 激情文学小说一区二区 | 男人的天堂欧美| 午夜男女爽爽爽在线视频| 婷婷五月天激情四射| 粉嫩小泬久久久一区二区| 综合网色| 亚洲欧洲日韩国产自在线| 欧美九九九| 秋霞一区二区三区四区五区六区七区| 婷婷AV一区二区三区| 国产精品不卡一区二区三区av| 亚州九九九精品视频| 日韩一级欧美一级在线观看| 98人妻精品一区二区色欲| 久久久国产护士丝袜美腿一| 国产91精品久久久久久久网曝门| 五月激情天| 中字乱伦AV| 女人午夜视频777| 国产精品盗摄 偷窥盗摄| 天天综合网网欲色| 国产精品一区二区三| 嫩草91| 97欧美色综合| 久久精品人妻一区二区三区| 日韩欧亚中文在线| 啊啊啊在线看| yazhousetuoumei| 午夜精品久久久久久久99热影院| 亚洲国产剧情少妇激情| 精品v1区| 蜜臀久久久国产| 国产精品午夜福利视频| 男人天堂网手机版婷婷| 国产97在线播放| 欧美亚洲国产日本在线,久久精品国产| 久草资源欧美在线视频| 日韩ab网| 偷拍99| 国产精品精品系列在线观看| 影音先锋视频在线| 太久视频| 黄色污污污污污污网站| 精品久久久av| 日日干男人的天堂| 一级黄碟| 国产精品内射婷婷一级二| 中文字幕aⅴ在线视频| 狠狠色婷婷777| 国产传媒日本欧美专区| 欧美色图小说综合| 男人天堂2030| 樱花蜜乳av| 免费观看啪视频| 91挑色欧美| 玖玖久久久| 久久亚洲AV成人精品无码| 国产极品999| 欧洲亚洲人妻无码久久三区四区| 久久婷婷电影网| 久久人妻视频| 欧美日韩国产精品久久色婷婷| 老熟女综合网| 亚洲一区二区三区播放在线| 亚洲熟女国产综合另类| 日韩射图| 日韩精品永久在线观看| 久久久久久久久久久久黄色 | 久久国产成人精品国产成人亚洲| 无码聚合| 日韩精品系列| 蜜乳AV一区| 欧美青青视频| 国产一级内射无挡观看| 91美女色视频亚洲| 可能人人看人人摸| 97欧美色资源| 九九综合九九综合| 性爱视频久久| 久久精品欧美一区蜜桃| 久久久久久久| 国产天美欧美| 99九九精品| 亚洲一本大道中文字幕无码在线| 国产狂喷潮在线精品| 天天综合欧美| 97亚洲综合在线| 激激五月| 国产精品人妻无码久久久互動交流 | 久久久涩| 天天操女人| 久久日本熟妇熟色一区| AV色天香在线| 性爱视频啪啪啪啪| 大香蕉2017| 欧美成人色| 家庭乱伦国产| 99日视频在线免费| 99热免费| 大香焦A片| 久久久久久久9| 精品二999| ,国产乱人伦精品一区二区三区| 无码精品久久久久久亚洲| 97资源免费视频| 91色久| 3028国产精品| 国产强奸乱伦第1页| 人妻天天爽| 中文字幕一区二区三区人妻少妇在线| 日韩字幕一区| 啊啊啊好多水| 青青草原av| 2020视频1区2区3区| 少妇无码av专区线| 久草加勒比一区在线| 97超碰总站| www鬼畜国产男人的天堂| 岛国毛片手机在线观看| 超碰在线人人射| 久久久蜜桃臀无码视频| 国产精品另类| 久久影视二区三区行押| 亚洲色图欧美另类在线| 色色99| 男插女青青影院| 亚洲综合码| 国产嫩草精品A88AV在线| 97欧美精品综合| 黄网站黄视频网站进入口| 久久亚洲AV无码专区国产精品| 小说区 图片区色 综合区| 凹凸视频在线一区二区| 日本成人在线不卡一区二区三区 | www.av在线观看| 久久受www免费人成| AV一起草在线| 99亚洲国产精品色一区二区三区| 久久精品操| 92久久| 久久永久无码人妻视频| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 国产亚洲色婷婷久久99精品91葵花宝典| 久久一区二区蜜桃| 操逼免费视频无码国产| 婷婷深爱五月| 欧美无圣光在线| 超碰综合97在线| 日本黄色精品专区网站| 人人看人人摸人人色| 精品小视频在线| 麻豆91熟妇人妻中文字幕茄子| 人人妻碰人人免费| 口爆综合网| 怡红院亚洲怡春院av| 欧美精品精品一区二区| 欧美黑人精品一区二区| 亚洲日韩青青草色月| 一区二区三区男人的天堂| 一二三四视频中文字幕在线看| 国产精品视频精品一二| 超碰夫妻97| 1人人看人人摸人人操| 夜夜操91744565| 97欧美精品| 久久久久久中文字幕中文字幕最新| 国产九九九九九九| 亚洲天堂无码| 好湿好紧视频| 中国乱伦一区二区| 韩国轻伦国内自拍一区| 日逼97| 久久a久久| 青娱乐淫乱1314| 综精品久久久aaaa| 亚洲āv网址在线观看| 歐美一級亂黃99在綫精品| 免费家庭乱伦视频| 欧美精品偷拍| 亚洲网站一区二区在线| 夜夜操天天肏| 日日摸夜夜夜夜爽| 香蕉精品二区二区| 亚洲影视综合网| 亚洲国产熟妇综合色专区| 亚洲最大黄网| 国产福利在线视频网站| 亚洲熟妇综合久久久久久| 亚洲欧洲精品视频发布| aV中文麻| 亚洲欧洲无码97久久精品| 国内毛片婷婷六月色| 91白虎| 亚州欧美一区| 日本久操视频| 国产精品美女在线一区| 精品人妻少妇| 精品亚州18| 嗯啊啊啊轻点视频 | 天天综合~91入口| 亚洲一区二区三区中文字幕| 亚洲一区二区av| 天天操天天谢| 欧美三级免费伊人| 91狠婷| 五月天玖玖资源站| 日韩综合无码色欲vv| 97色在线视频| 九九九九精品视频| 91亚洲综合在线| 亚洲av在线免费观看| 一起草日韩| 97视频在线免费| 欧美精品双插| 青青11操操操操操操操操| 91免费看一区二区三区| 国产精品熟女AV中文字幕在线播放| 久久肏大逼| 强奸国产在线| 亚洲欧美自拍偷拍| 91 丝袜在线播放| 亚洲情色无码一区二区三区| 麻豆精品久久久久久久| 激情视屏国产乱伦强奸| 日韩亚洲精品一区二区| 国产JDAV无码视频在线观看| 大香蕉中文在线| 亚洲双插| 欧美精品,四区。五区| 三级片大波波| 五月天色电影| 日韩钢筋无码高清啾啾啾| 国产熟女一区二区丰满| 偷拍亚洲高清图片| 精品一国2| 久久是精品| 中文字幕第2页| 日韩性爱长视频免费| 中国一级αV| 顶级丝袜熟女一区二区三区 | 十八禁黄色| 99re99在线视频| 最近2018中文字幕在线高清第一页| 国产绿奴视频在线观看| 久久亚洲婷婷| 狠狠躁天天躁日日躁| 2019天天干| 女人 A一级| 精品久久久久9999| 超碰人妻久久| 亚洲AV无码黄色强奸| 小草精彩毛片| 天天干夜夜鈤| 欧美Ⅴ性爱| 国产亚洲精品农村妇女| 99久久久99久久91熟女| 日本不卡三级网在线播放| 色偷综合| 狠狠色噜噜狠狠狠狠2018| 少妇一区二区三区精选| 亚洲天堂久久| 九九九九九九九九九五码| 国产精品国产精品国产| 国产91久久九九免费精品无码| 欧美 日韩 婷婷 五月| 欧美一区二区| 久久久久亚洲?V片无码V| 美女高潮视频91| 无遮挡男女激烈动态图| 噜噜在线| 91精品人妻啪啪间| 欧美天天| 操人妻丝袜高跟| 97天堂| 色婷婷五月天| 怡春院久久| 69精品少妇一区二区三区蜜桃| 国产精品夜夜夜| 岛国精品视频在线观看| 精品少妇高潮久久| 伊人AAA| 91视频综合网| 混色激情av| 精品偷拍13p欧美dodk视频| 欧美经典一区二区三区| 2019久久久久久久久福利| 操人无码| 99爱爱| 国产精品久久久啊| 在线观看免费视频国产| 96AV精品| 极品一区二区三区免费| 看大黄色大片原件| 欧美久久婷| 欧美 亚洲 第一页| 天天欧美欧美亚洲网| 亚洲97在线| 国产精品麻豆视频网站| 蜜桃视频一区二区三区| 天天操夜夜嗨| 97超碰超欧美。| 日韩激情毛片一级久久久| 久久一二三四不卡| av天堂天堂av日韩| 久久久久久91香蕉国产| 国产家庭乱伦性爱视频| 男人的天堂日本东京热| 久久伊人亚洲AV无码网站| 日韩午夜国产| 国语国产操逼伊人AV网| 欧美综合97www| 国产精品麻豆成人av| 久久大精品乱码视频人妻熟女| 操逼无码一区| 激情视频一二三| av一区二区三区 中文| 黄页网站成人免费| 久久 国产精品 一区| 久久这里只| sss视频华人在线| 国内亚洲高清无码| 亚洲。天堂。日本在线观看| 日韩去日本高清在| 啊啊啊网站| 91九色丨国产丨爆乳| 亚洲欧洲综合成人av一区| 国产丸一视频| 五月色网| 国产日韩无码一区二区三区久久区| 日本不卡二三区| 亚洲男人久久综合天堂| 久久av网| 天天色天天干天天射| 精品中文一区二区| 99操视频| 黄色激情电影在线观看| 久久熟女嫩草成人片免费| 337p大胆噜噜噜噜噜91Av| 国产精品懂色tv影视免费观看| 1204av韩国| 激情综合色| 久久亚洲AV无码白度| 是还免费视频1727我| 天天日少妇逼AV| 蜜臀无码视频在线观看| 国产日韩中文字幕欧美| 国产性感骚丝袜在线| 黄片不用下载在线观看| 另类小说欧美激情校园春色| 欧美中文字幕一区| 久久亚洲婷婷| 秋霞一集毛片观看| 日韩精品资源| 色天堂综合| 久jiu久神马影院| 东北丰满熟女国产一区 | 国产精品爽爽v| 亚州综| 九九九九97| 嗯嗯啊啊用力视频免费| 日韩精品中文字幕一| 秋霞午夜成人福利片片| 四虎884| 91av天美性媒精品视频| 国产亚洲禁久一区二区 | 搡老熟女老女人老熟妇免费视频| 亚洲 欧美 日韩 国产一区二区| 久久精品一区一起草| 无码欧美有限公司| 91丨九色丨东北熟女| 亚洲高清无码在线桃色| 国产精品久久久久久久久久梁医生| 欧美日日人人天天| 超碰天天操你比| 九九九久千久久激情蜜桃在线看 | 97国产精品久久久久 | 爽极品影院| 欧洲精品一级二级精品综合视频综合| 男女香蕉一区二区| 69久久久久久久久久久久久| 日韩午夜啪啪视频| 粉嫩不卡一区二区性爱| 男人天堂黄片| 欧美探花网| 蜜桃久久一区二区| 激情欧美97| 青娱乐黄色录像| 久区视频| 试看60秒| 欧美综合777| 亚洲图片在线| 啊啊啊啊好大好硬啊啊啊啊啊| 欧美少妇大量自拍视频在线观看| 丁香六月综合激情| 五月丁香大香蕉| 97久久超碰| 久久久久久精品免费看A级| 久干9操| 国产偷拍自拍在线视频| 男人a天堂手机在线版| 国产探花日韩援交| 成人av在线播放| 精品国产一区二区三区四区在线看| 另类欧美色| 日韩欧美国产高清视频| 欧美日韩激情无码专区| 成人精品一区二区91毛片不卡| 秋霞网—男女啪啪亚洲免费体验区| 亚洲综合色男人网| 日韩情色视频| 99久久久er直播网址| 超碰国产精品久| 国产精品嫩草久久久久|