欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

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

MySQL到BigQuery數(shù)據(jù)同步:CDC如何彌補周期同步的漏失

MySQL到BigQuery數(shù)據(jù)同步:CDC如何彌補周期同步的漏失 MySQL 到 BigQuery 的數(shù)據(jù)同步最容易被低估的問題就是時間窗口。無論是定時導(dǎo)出還是按updated_at增量拉取本質(zhì)上都屬于 periodic syncs。它們的共同點是數(shù)據(jù)庫里的變化并不會等待調(diào)度任務(wù)開始也不會按周期整齊地落入邊界。一次刪除、一條字段被改回舊值、一張表在夜間被大批量 UPDATE 后又改回來這些事件都可能發(fā)生在兩批同步任務(wù)的間隙最終 BigQuery 里的數(shù)據(jù)既不是源表的真實狀態(tài)也不是任何歷史時刻的真實狀態(tài)。CDCChange Data Capture通過讀取 MySQL binlog把每一條數(shù)據(jù)變更作為事件流送到 BigQuery正好從機(jī)制上補上了這個缺口。這篇文章圍繞周期同步會漏什么、binlog 為什么能避免漏、落地時要注意什么展開適合正在設(shè)計數(shù)據(jù)管道、給數(shù)倉接增量數(shù)據(jù)或者被批量任務(wù)數(shù)據(jù)不一致問題困擾的開發(fā)者與數(shù)據(jù)工程師。1. 周期同步在 MySQL 到 BigQuery 場景下到底漏了什么1.1 常見的三種周期同步寫法先看最常用的三種同步方式它們并不只是實現(xiàn)細(xì)節(jié)不同能捕獲的數(shù)據(jù)變化粒度也完全不同。第一種是全量導(dǎo)出覆蓋。直接把 MySQL 表導(dǎo)出成文件或通過 SQL 拉取寫入 BigQuery 臨時表再覆蓋目標(biāo)表。這種方式能保證目標(biāo)表最終狀態(tài)一致但同步窗口很長且 BigQuery 做覆蓋時下游可能讀到一半數(shù)據(jù)。數(shù)據(jù)量一旦上億這個方案基本不可持續(xù)。第二種是按自增 ID 增量拉取。記錄max(id)每次只拉大于該 ID 的行像這樣SELECT * FROM orders WHERE id :last_max_id ORDER BY id;這個方案只能捕獲新增數(shù)據(jù)。業(yè)務(wù)表一旦發(fā)生 UPDATE主鍵 ID 不變增量 SQL 永遠(yuǎn)拉不到這一行。DELETE 更不會出現(xiàn)在結(jié)果里。第三種是按更新時間戳增量拉取SELECT * FROM orders WHERE updated_at :last_sync_ts;這是目前最常見的周期同步方案前提是業(yè)務(wù)表有updated_at字段并且所有寫入路徑都正確更新這個字段。實際項目里這個前提經(jīng)常被破壞某些批量導(dǎo)入腳本沒有更新updated_at某些框架寫入時沒有映射該字段于是出現(xiàn)數(shù)據(jù)明明變了增量 SQL 卻查不到的問題。1.2 周期同步一定會錯過的幾類變更物理刪除是最典型的一類。DELETE 之后這條記錄不再存在于表中任何基于當(dāng)前表狀態(tài)的 SELECT 都無法發(fā)現(xiàn)它曾經(jīng)存在過。全量對拍能發(fā)現(xiàn)問題但只能事后補救而且對拍本身在大表上成本極高。沒有更新時間字段或者更新時沒有寫入時間戳也是一類。訂單表如果通過第三方系統(tǒng)直接改庫或者 DBA 手工執(zhí)行 UPDATE 時沒有維護(hù)updated_at那么增量邊界從一開始就是錯的。同周期內(nèi)狀態(tài)回跳同樣會被掩蓋。假設(shè)訂單在 00:00:10 從pending改為paid00:00:20 又改回pending。周期任務(wù)在 01:00 運行拉到的最終狀態(tài)還是pending。從業(yè)務(wù)角度看中間那次paid狀態(tài)也曾經(jīng)是真實數(shù)據(jù)但周期同步完全感知不到。高頻更新更不用說。一張促銷表每秒更新幾千行周期任務(wù)每隔 5 分鐘拉一次單行在周期內(nèi)被反復(fù)更新后最終拉到的只是最后一次值中間所有取值全部丟失。1.3 為什么不是多跑幾次就能解決周期同步的失敗模式是邏輯性漏數(shù)據(jù)不是漏跑任務(wù)。把調(diào)度頻率從小時改成分鐘只是縮小時間窗口并沒有改變讀取當(dāng)前表狀態(tài)的本質(zhì)。一張表在周期內(nèi)發(fā)生了 100 次更新周期同步只能看到最后一行binlog 能看到 100 個事件并且每個事件都保留前鏡像和后鏡像。這就是原理層面的差異。周期同步試圖通過查詢結(jié)果反推變化而 binlog 是 MySQL 自己記錄的寫操作流水賬。流水賬不會因為業(yè)務(wù)表沒有updated_at就缺頁也不會因為 DELETE 后記錄消失就抹去歷史。1.4 三種方案的能力對比維度全量快照增量字段輪詢binlog CDC刪除事件全量對拍后才發(fā)現(xiàn)通常無法發(fā)現(xiàn)每條 DELETE 都有對應(yīng)事件更新歷史只有最后狀態(tài)只有最后一次變更每次 UPDATE 都有前鏡像和后鏡像對業(yè)務(wù)表要求無必須有updated_at等字段無binlog 與業(yè)務(wù)表結(jié)構(gòu)獨立實時性取決于調(diào)度周期取決于調(diào)度周期秒級到分鐘級可配置對源庫壓力大全表掃描代價高中等取決于索引較小讀取日志而不是反復(fù)掃描表從這張表能看出周期同步不是慢而是漏。CDC 的價值不是讓同步更快而是讓變化過程本身可見。2. binlog 為什么能捕捉每一次變化CDC 的原理2.1 binlog 是什么binlog 是 MySQL 的二進(jìn)制日志記錄所有改變數(shù)據(jù)庫內(nèi)容的操作包括 INSERT、UPDATE、DELETE以及部分 DDL。MySQL 主從復(fù)制、崩潰恢復(fù)、數(shù)據(jù)恢復(fù)都依賴它??梢岳斫鉃?MySQL 把每一次寫操作按順序?qū)懙揭槐玖魉~上。binlog 并不是默認(rèn)可用的。MySQL 5.7 中l(wèi)og_bin默認(rèn)關(guān)閉8.0 默認(rèn)開啟但不同發(fā)行版和云廠商的默認(rèn)值可能不同落地前必須先確認(rèn)。如果 binlog 沒有開啟后續(xù)所有 CDC 方案都無從談起。2.2 ROW 格式給 CDC 提供了什么binlog 有三種格式STATEMENT、ROW、MIXED。STATEMENT 格式記錄的是 SQL 語句本身例如UPDATE orders SET statuspaid WHERE id1001;。這種格式日志量小但無法可靠還原每一行在語句執(zhí)行前后的具體值。MIXED 格式是兩者的混合MySQL 會根據(jù)語句類型自動選擇但對于 CDC 場景依然不夠穩(wěn)定。CDC 要求使用 ROW 格式。ROW 格式下binlog 直接記錄行的變化包括字段級的前鏡像和后鏡像。具體來說INSERT 事件包含插入后的完整行數(shù)據(jù)。UPDATE 事件包含變更前的整行數(shù)據(jù)和變更后的整行數(shù)據(jù)。DELETE 事件包含刪除前的整行數(shù)據(jù)。這意味著 CDC 消費者不僅能知道某張表發(fā)生了變化還能拿到 哪一行的哪個字段從什么值變成什么值。2.3 CDC 連接器如何消費 binlogDebezium、Flink CDC 這類工具在原理上會偽裝成 MySQL 從庫。它們通過 MySQL 的復(fù)制協(xié)議從主庫拉取 binlog并把 binlog 里的二進(jìn)制事件解析成結(jié)構(gòu)化的 JSON 變更事件。連接器需要記錄自己的消費位點。傳統(tǒng)方式是記錄 binlog 文件名加偏移量例如mysql-bin.000023的position 45123。更可靠的方式是使用 GTID即全局事務(wù)標(biāo)識符。GTID 能唯一標(biāo)識每個事務(wù)即使 binlog 文件被清理只要 MySQL 實例保留了完整的事務(wù)歷史連接器也能定位到正確的起點。CDC 連接器通常具備先快照再增量的能力。首次啟動時它會先讀取一次源表全量數(shù)據(jù)記錄當(dāng)時的 binlog 位點之后繼續(xù)從該位點消費增量從而保證從啟動那一刻起不遺漏后續(xù)變更。2.4 從 binlog 到 BigQuery 的完整鏈路一個常見的生產(chǎn)架構(gòu)是MySQL master - binlog - CDC Connector (Debezium / Flink CDC) - Kafka Topic - 流處理或?qū)懭氤绦?- BigQuery Storage Write API / Load Job - BigQuery Table也可以簡化為MySQL master - Flink CDC - BigQuery 目標(biāo)表無論采用哪種架構(gòu)核心都是從日志讀取變化而不是定時查詢表。這也決定了后面的環(huán)境準(zhǔn)備、配置、驗證和排錯方式。3. 前期準(zhǔn)備MySQL、BigQuery 和權(quán)限一項都不能省3.1 版本與前置條件在配置 CDC 之前先確認(rèn)環(huán)境是否滿足基本條件組件要求說明MySQL5.7 或 8.0開啟 binlog5.7 建議顯式開啟8.0 確認(rèn)默認(rèn)配置BigQuery數(shù)據(jù)集、目標(biāo)表、服務(wù)賬號建議單獨建服務(wù)賬號避免共用管理員賬號CDC 工具Debezium 或 Flink CDC版本需要與 MySQL 和 Kafka 版本匹配網(wǎng)絡(luò)源庫與數(shù)倉側(cè)連通私網(wǎng)優(yōu)先公網(wǎng)場景需要做好傳輸加密如果源 MySQL 是云數(shù)據(jù)庫還需要查看云廠商是否允許開啟 binlog 保留策略、是否開放復(fù)制賬號權(quán)限。有些托管數(shù)據(jù)庫默認(rèn)不開放REPLICATION SLAVE這是接入 CDC 前最容易發(fā)現(xiàn)的阻塞點。注意開啟 binlog 并切換為 ROW 格式后binlog 日志量通常會變大磁盤占用和復(fù)制延遲都會上升。生產(chǎn)環(huán)境切換前需要評估磁盤余量。3.2 修改 MySQL 配置下面是一份最小可用的 MySQL CDC 配置示例[mysqld] server_id 1001 log_bin /var/log/mysql/mysql-bin.log binlog_format ROW binlog_row_image FULL expire_logs_days 7 # MySQL 8.0 可用以下參數(shù)控制 binlog 保留時長 # binlog_expire_logs_seconds 604800每個參數(shù)的作用server_idMySQL 實例在復(fù)制拓?fù)渲械奈ㄒ粯?biāo)識。CDC 客戶端也會占用一個 server-id不能與主從庫中其他節(jié)點重復(fù)。log_bin開啟 binlog并指定日志文件路徑。binlog_formatROW讓 binlog 記錄行級變更。CDC 必須使用 ROW 格式。binlog_row_imageFULL讓 UPDATE 事件包含整行前鏡像和后鏡像。如果設(shè)置為 MINIMALbinlog 只包含被修改的字段和主鍵CDC 拿不到完整舊行和新行。expire_logs_days控制 binlog 文件保留天數(shù)。保留太短CDC 位點落后時可能追不上保留太長磁盤占用過大。常見建議是 3 到 7 天具體要結(jié)合源庫寫入量和磁盤容量調(diào)整。修改配置后需要重啟 MySQL。重啟前確認(rèn)max_allowed_packet等參數(shù)不會限制大事務(wù)的 binlog 傳輸。3.3 創(chuàng)建 MySQL CDC 賬號建議為 CDC 單獨創(chuàng)建一個賬號避免使用 rootCREATE USER cdc_user% IDENTIFIED BY strong_password; GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO cdc_user%; FLUSH PRIVILEGES;三個權(quán)限的含義SELECT用于 CDC 工具首次啟動時的全量快照以及讀取表結(jié)構(gòu)信息。REPLICATION SLAVE允許該賬號通過復(fù)制協(xié)議讀取 binlog這是 CDC 的核心權(quán)限。REPLICATION CLIENT允許執(zhí)行SHOW MASTER STATUS、SHOW BINARY LOG STATUS等命令用于確認(rèn)位點信息。不要把ALL PRIVILEGES都授出去。CDC 賬號只需要讀取能力不需要寫源庫。3.4 BigQuery 側(cè)準(zhǔn)備BigQuery 側(cè)需要準(zhǔn)備數(shù)據(jù)集、目標(biāo)表和服務(wù)賬號。在 Google Cloud Console 中先創(chuàng)建數(shù)據(jù)集例如analytics。目標(biāo)表建議在接入 CDC 之前就定義好字段類型盡量與 MySQL 類型對應(yīng)。如果后續(xù)依賴 BigQuery 自動加列容易遇到 schema 不一致導(dǎo)致寫入失敗。服務(wù)賬號需要授予 BigQuery Data Editor 或更細(xì)粒度的角色。把服務(wù)賬號的 JSON 密鑰下載到寫入服務(wù)所在機(jī)器并通過環(huán)境變量GOOGLE_APPLICATION_CREDENTIALS指向密鑰文件。BigQuery 是列式存儲目標(biāo)表 schema 在寫入前就要對齊。CDC 事件字段如果比目標(biāo)表多需要做過濾如果少目標(biāo)表多出的列會使用默認(rèn)值或 NULL。4. 最小落地鏈路Debezium 捕獲 binlog程序?qū)懭?BigQuery4.1 兩種常用的技術(shù)選型常見方案有兩種方案鏈路適合場景Debezium KafkaMySQL - Debezium - Kafka - 寫入程序 - BigQuery已有 Kafka 基礎(chǔ)設(shè)施需要多消費方Flink CDCMySQL - Flink CDC - BigQuery Sink團(tuán)隊熟悉 Flink希望用 SQL 處理流下面以 Debezium Kafka Python 消費者為例把鏈路拆開看。這樣更容易理解每個環(huán)節(jié)的職責(zé)。Flink CDC 只是把 Debezium 和流處理合并到一個框架里原理一致。4.2 Debezium connector 的配置Debezium 通過 Kafka Connect 運行一個典型配置如下{ name: mysql-orders-connector, config: { connector.class: io.debezium.connector.mysql.MySqlConnector, database.hostname: 10.0.0.10, database.port: 3306, database.user: cdc_user, database.password: xxxx, database.server.id: 5400, database.include.list: ecommerce, table.include.list: ecommerce.orders, database.history.kafka.bootstrap.servers: kafka:9092, database.history.kafka.topic: schema-changes.ecommerce, topic.prefix: mysql, include.schema.changes: true } }關(guān)鍵參數(shù)database.server.idDebezium 會占用一個 server-id。它必須與 MySQL 現(xiàn)有主從庫、其他 CDC 實例的 server-id 不沖突否則連接會被 MySQL 拒絕。database.include.list/table.include.list限定監(jiān)聽的庫表。只同步需要的表能顯著減少 binlog 解析壓力。database.history.kafka.topicDebezium 用這個 topic 記錄表結(jié)構(gòu)歷史。binlog 里的舊事件在解析時可能依賴歷史 schema因此這個 topic 不能隨意刪除。topic.prefix生成 Kafka topic 名稱的前綴。最終 topic 名稱一般是{topic.prefix}.{database}.{table}。4.3 變更事件長什么樣Debezium 輸出的變更事件是一段 JSON核心結(jié)構(gòu)如下{ before: { id: 1001, status: pending }, after: { id: 1001, status: paid }, source: { db: ecommerce, table: orders, server_id: 1001, ts_ms: 1719900000123 }, op: u }op字段表示操作類型op 值含義事件內(nèi)容cINSERT只有afteruUPDATE有before和afterdDELETE只有beforer快照讀取類似 INSERTafter為快照行注意DELETE 事件沒有after。寫入 BigQuery 時如果目標(biāo)表要反映刪除必須自己定義刪除策略比如寫入一條帶刪除標(biāo)記的記錄或者通過主鍵 MERGE 刪除目標(biāo)行。4.4 寫入 BigQuery 的示例程序下面是一個最小 Python 消費者示例從 Kafka 讀取 MySQL 變更事件批量寫入 BigQueryimport json from google.cloud import bigquery from kafka import KafkaConsumer PROJECT my-project DATASET analytics TABLE orders client bigquery.Client(projectPROJECT) table_ref client.get_table(f{PROJECT}.{DATASET}.{TABLE}) def process_event(msg): payload json.loads(msg.value()) op payload.get(op) if op in (c, r): return payload[after] if op u: return payload[after] if op d: before payload[before] before[_is_deleted] True return before return None consumer KafkaConsumer( mysql.ecommerce.orders, bootstrap_serverskafka:9092, group_idbigquery-sync, auto_offset_resetlatest, enable_auto_commitFalse, ) rows [] batch_size 500 for message in consumer: row process_event(message) if row is not None: rows.append(row) if len(rows) batch_size: errors client.insert_rows_json(table_ref, rows) if not errors: consumer.commit() rows [] else: print(errors)這個示例說明的是思路不是完整生產(chǎn)代碼。insert_rows_json適合小規(guī)模驗證生產(chǎn)環(huán)境更推薦使用 BigQuery Storage Write API并配合監(jiān)控、重試和死信隊列。enable_auto_commitFalse是為了避免消息未成功寫入就提交位點減少丟失風(fēng)險但代價是重復(fù)消費因此目標(biāo)表必須容忍重復(fù)。4.5 如果團(tuán)隊已經(jīng)用 Flink可以考慮 Flink CDCFlink CDC 可以把上面的鏈路壓縮成一個 SQL 和一套連接器。用 Flink SQL 創(chuàng)建 MySQL CDC 源表CREATE TABLE mysql_orders ( id INT, user_id INT, amount DECIMAL(10, 2), status STRING, updated_at TIMESTAMP(3), PRIMARY KEY (id) NOT ENFORCED ) WITH ( connector mysql-cdc, hostname 10.0.0.10, port 3306, username cdc_user, password xxxx, database-name ecommerce, table-name orders, server-id 5400-5406, scan.incremental.snapshot.enabled true );scan.incremental.snapshot.enabled在較新版本默認(rèn)開啟。它讓 Flink CDC 以分片方式并行快照大表不需要像舊版本那樣先對全表加鎖再讀取對大表更友好。源表創(chuàng)建后可以再創(chuàng)建 BigQuery Sink 表通過INSERT INTO完成同步。具體 Sink 類名和參數(shù)取決于連接器版本落地前要以當(dāng)前使用的 Flink 和連接器文檔為準(zhǔn)。5. 怎么驗證 binlog 同步?jīng)]有漏數(shù)據(jù)5.1 先確認(rèn) binlog 真的開了進(jìn)入 MySQL 命令行執(zhí)行SHOW VARIABLES LIKE log_bin; SHOW VARIABLES LIKE binlog_format; SHOW VARIABLES LIKE binlog_row_image;預(yù)期結(jié)果中l(wèi)og_bin為ONbinlog_format為ROWbinlog_row_image為FULL。還可以執(zhí)行SHOW BINARY LOG STATUS;如果輸出包含當(dāng)前 binlog 文件名和 position說明 binlog 文件正在正常寫入。5.2 驗證 Kafka 收到了哪些變更先用 Kafka 自帶的控制臺消費命令觀察 MySQL 變更是否進(jìn)入 topickafka-console-consumer.sh \ --bootstrap-server kafka:9092 \ --topic mysql.ecommerce.orders \ --from-beginning然后在 MySQL 中分別執(zhí)行一次 UPDATE 和一次 DELETEUPDATE orders SET status paid WHERE id 1001; DELETE FROM orders WHERE id 1002;正常情況下消費端會看到op為u和d的兩條事件。這一步直接驗證了周期同步最難做到的能力刪除和更新都能被捕獲。5.3 驗證 BigQuery 目標(biāo)表觀察 BigQuery 目標(biāo)表是否有新數(shù)據(jù)寫入。可以通過控制臺查詢也可以執(zhí)行SELECT COUNT(*) FROM my-project.analytics.orders; SELECT MAX(updated_at) FROM my-project.analytics.orders;必須注意一個容易誤判的地方BigQuery 目標(biāo)表不會因為收到了 DELETE 事件就自動刪除對應(yīng)行。如果寫入程序只是把after或before以追加方式寫入刪除事件只會變成一行帶標(biāo)記的數(shù)據(jù)。要真實反映刪除目標(biāo)表需要按主鍵做 MERGE或者通過分區(qū)覆蓋實現(xiàn)。驗證時先明確自己的目標(biāo)表語義是追加明細(xì)還是鏡像源表。5.4 延遲監(jiān)控指標(biāo)從 binlog 到 BigQuery 的同步不是一次性的必須持續(xù)監(jiān)控。常見指標(biāo)包括指標(biāo)含義告警建議Kafka consumer lag消費程序落后的消息數(shù)持續(xù)增長則告警Debezium 位點與當(dāng)前 binlog 的文件間隔連接器是否在追趕超過 binlog 保留期則高風(fēng)險端到端延遲事件寫入 MySQL 到進(jìn)入 BigQuery 的時間差根據(jù)業(yè)務(wù)要求設(shè)置閾值BigQuery 寫入錯誤率schema 不匹配等寫入失敗立即告警把位點落后和consumer lag 持續(xù)增長作為關(guān)鍵告警能提前發(fā)現(xiàn)大事務(wù)、網(wǎng)絡(luò)抖動或消費程序故障。6. 數(shù)據(jù)到達(dá) BigQuery 后模式映射、DDL 和冪等才是真正的坑6.1 MySQL 與 BigQuery 類型映射字段類型映射是 CDC 鏈路里最容易踩坑的部分。下面是常見映射關(guān)系MySQL 類型BigQuery 類型注意事項INT / INTEGERINT64無符號 INT 可能超過 INT64 有符號范圍BIGINTINT64超過 2^63-1 的數(shù)據(jù)要改用 NUMERIC 或 STRINGDECIMAL(p, s)NUMERIC / BIGNUMERIC金額字段不要用 FLOAT精度會丟失DATETIMEDATETIME無時區(qū)語義按原值寫入TIMESTAMPTIMESTAMP建議統(tǒng)一按 UTC 存儲VARCHAR / TEXTSTRING長度和編碼要注意JSONJSONBigQuery 需要字段模式為 JSON 或先轉(zhuǎn)成 STRINGTINYINTINT64 / BOOL看業(yè)務(wù)語義確定最容易出問題的是 DECIMAL。MySQL 中的DECIMAL(10, 2)如果映射成 BigQuery 的 FLOAT640.1 這樣的值可能出現(xiàn)精度誤差。正確做法是映射為 NUMERIC。TIMESTAMP 也容易出問題。MySQL 的TIMESTAMP有會話時區(qū)概念CDC 事件里的ts_ms可能是 UTC 時間而業(yè)務(wù)字段本身可能是本地時間。建議在寫入端統(tǒng)一規(guī)范避免目標(biāo)表同一列混入不同時區(qū)的數(shù)據(jù)。6.2 DDL 變更會打斷 CDC當(dāng) MySQL 表結(jié)構(gòu)變化時CDC 鏈路會面臨兩個層面的問題。第一Debezium 需要依賴database.history.kafka.topic中的 schema 歷史來解析 binlog 里的舊事件。如果這個 topic 被刪除或清理連接器可能無法反序列化舊的 binlog 事件。第二BigQuery 目標(biāo)表的 schema 不會自動跟隨 MySQL DDL 變化。MySQL 加了一列CDC 事件里出現(xiàn)了新字段但 BigQuery 目標(biāo)表沒有這一列寫入就會報錯。處理建議是把 DDL 納入變更流程先審查 MySQL DDL 對同步鏈路的影響。先在 BigQuery 目標(biāo)表補充或調(diào)整 schema。再在 MySQL 執(zhí)行 ALTER TABLE。同步完成后核對事件是否正常。對于大表的 ALTER TABLE還可能導(dǎo)致源庫鎖表和復(fù)制延遲。生產(chǎn)環(huán)境做主從切換時要評估 DDL 對 binlog 位點的影響。注意不要依賴 BigQuery 自動加列來處理所有 DDL 變更。自動加列在不同版本和連接器里行為不一致且不能處理列重命名、刪除、類型變更等復(fù)雜操作。6.3 至少一次語義下重復(fù)是正常的binlog CDC 鏈路通常提供 at-least-once 語義。網(wǎng)絡(luò)閃斷、消費程序重啟、位點提交失敗都可能導(dǎo)致同一事件被重復(fù)消費。因此目標(biāo)表必須能接受重復(fù)。常見做法按主鍵去重寫入前先判斷目標(biāo)表是否已有該主鍵。使用 BigQuery MERGE按主鍵更新目標(biāo)行。在記錄中增加事件版本字段如event_ts_ms或 GTID寫入時取較新的事件。下面是 BigQuery MERGE 的簡化思路MERGE my-project.analytics.orders AS t USING changes AS s ON t.id s.id WHEN MATCHED THEN UPDATE SET status s.status, amount s.amount WHEN NOT MATCHED THEN INSERT (id, user_id, amount, status, updated_at) VALUES (s.id, s.user_id, s.amount, s.status, s.updated_at);MERGE 在處理刪除事件時還可以加一個WHEN MATCHED AND s._is_deleted TRUE THEN DELETE分支。但 MERGE 的成本比流式追加高適合對一致性要求高、更新頻率可控的場景。如果表更新量極大需要考慮分區(qū)覆蓋、冷熱分離等方案。6.4 亂序事件怎么處理同一個主鍵的多條變更在 Kafka 中如果分布到不同分區(qū)消費程序收到的順序可能和源庫事務(wù)提交順序不一致。比如先提交了statuspaid后提交了statuscancelled亂序可能導(dǎo)致目標(biāo)表最終停在paid。處理方式Kafka Topic 按主鍵 hash 分區(qū)保證同一主鍵路由到同一分區(qū)。寫入端使用 binlog 里的ts_ms或 GTID 做排序只接受更新的事件。如果業(yè)務(wù)允許短暫延遲可以在寫入端做窗口緩沖按主鍵排序后批量提交。如果源表存在刪主鍵后重新插入同一主鍵的場景還需要區(qū)分刪除后插入和舊 UPDATE 后到否則可能出現(xiàn)舊數(shù)據(jù)覆蓋新數(shù)據(jù)的現(xiàn)象。這種情況下GTID 或事務(wù) ID 是更可靠的順序依據(jù)。7. 常見問題排查從現(xiàn)象倒推 binlog 鏈路故障7.1 現(xiàn)象連接器啟動時報權(quán)限不足或無法讀取 binlog可能原因MySQL 賬號缺少REPLICATION SLAVE權(quán)限。連接器配置的 server-id 與現(xiàn)有從庫沖突。binlog 未開啟或者binlog_format不是 ROW。排查命令SHOW VARIABLES LIKE binlog_format; SHOW GRANTS FOR cdc_user%; SHOW PROCESSLIST;處理方式核對 MySQL 配置和賬號權(quán)限修改后重啟連接器。server-id 沖突通常會在 MySQL 錯誤日志里看到A slave with the same server_uuid/server_id as this slave has connected to the master之類的信息。7.2 現(xiàn)象任務(wù)運行一段時間后Kafka 里有歷史事件但新事件遲遲不來可能原因Kafka Connect 或連接器進(jìn)程掛掉后位點沒有正確恢復(fù)。MySQL 實例重啟導(dǎo)致 binlog 文件名變化連接器找不到舊位點對應(yīng)的文件。table.include.list配置了大小寫敏感的表名實際表名大小寫不一致。排查方式kafka-consumer-groups.sh --bootstrap-server kafka:9092 --describe --group bigquery-sync重點看CURRENT-OFFSET、LOG-END-OFFSET和LAG。如果 consumer lag 為 0 但新數(shù)據(jù)沒進(jìn)來檢查連接器日志里 binlog offset 是否還在推進(jìn)。必要時做一次 重新快照 增量 的初始化。7.3 現(xiàn)象BigQuery 寫入報錯字段不存在或類型不匹配可能原因MySQL DDL 新增了列BigQuery schema 沒有同步。DECIMAL 字段映射成了 FLOAT64導(dǎo)致精度丟失或?qū)懭胧?。MySQL JSON 字段映射到了 BigQuery STRING但事件里是 JSON 對象。排查方式SELECT column_name, data_type FROM my-project.analytics.INFORMATION_SCHEMA.COLUMNS WHERE table_name orders;處理方式定位是哪一列不匹配先同步 schema再重放失敗事件。不要直接丟棄報錯事件否則會在對賬時發(fā)現(xiàn)數(shù)據(jù)缺口。7.4 現(xiàn)象同步延遲持續(xù)增長可能原因源庫執(zhí)行了大事務(wù)例如一次 UPDATE 超過十萬行binlog 事件量巨大。消費程序單線程寫入 BigQuery寫入速度跟不上源庫變更速度。網(wǎng)絡(luò)帶寬不足或者 BigQuery 寫入配額受限。處理方式在源庫側(cè)避免一次性更新超大范圍拆成小事務(wù)。寫入端改用批量并行寫并啟用 Storage Write API。增加監(jiān)控觀察 binlog 保留時間是否充足。如果消費端位點落后太遠(yuǎn)而 binlog 文件已經(jīng)過期可能需要重新快照。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久综合色五月| 国产婷婷久久| 这里只有精品视频| 婷婷五月天免费| 999九九九久久久99HD| 禁欲电影完整版在线播放| 色五月婷婷丁香国产在线| 激情五月天色网站| 久久性爱视频网站| 婷婷五月天人妻| 久久这里只有精品热在99| 色黑鬼导航| 婷婷五月欧美AA片免费| 99热这里有精品| 亚洲天堂色色| 第五色色色婷婷| 91热er| 六月丁香激情| 99欧美三级视频| 夜夜干天天操| 婷婷综合97| 思思99热| 六月婷婷色综合| 色五月婷婷五月天| 99色色网| 色婷婷的五月天| 色五月婷婷在线观看| 激情啪啪五月| 色九月婷婷综合| 成人在线视频一区| 激情九月综合| www.天天日| 五月丁香花视频| 人人草人| 深爱激情五月天| 九九一综合精品| 99久久婷婷国产综合精品草原| 亚洲AVwwwwwww| 成人精品视频99在线观看免费| 丁香五月天网友自拍啪啪啪视频| 色综合网页| 大香蕉人妻| 操日视频| 丁香五月色情| 狠狠综合网| 丁香五月伊人| 丁香五月天啪啪| 亚洲色五月| 五月激情啪啪啪| 天天在线XXX| 亚洲亚洲永久无码777777| 六月伊人婷婷| 色婷婷狠狠18| 亚洲中文字幕av| 超碰在线国产| 熟妇人妻中文字幕无码老熟妇| 亚洲1区| 色色色综合色| 亚洲精品V天堂中文字幕| 婷婷99狠狠| 色情综合网| 亚洲成人影视在线观看| 狠狠操综合| 色色色色热| 99热这里只有精品在线| 激情5月婷婷| 色婷婷丁香女女| 少妇性BBB搡BBB爽爽爽视頻| 丁香社92视频| 国产亚洲色婷婷久久99精品91| www.五月婷婷久久.com| 丁香六月激情综合网| 伍月激情天| 婷婷综合激情| 色色色在线观看| 综合99在线| 99日视频在线| 影音先锋女人av鲁色资源网小说免费| 国语精品探花| 色五月在线播放| 婷婷色网| 欧美影院婷婷| 26UUU欧美| 久久九九爽| 丁香婷婷基地| 久久婷婷五月天| 免费视频无码| 免费看欧美成人A片无码| 婷婷婷婷午夜| 999婷婷综合| 五月天天天操天天爽夜夜操| 五月丁香婷婷爱| 五月丁香婷婷基地| 91性人人| 成人网丁香五月| 激情五月天婷婷丁香| 狠狠狠狠狠狠色| 日韩啊啊啊| 亚洲激情高潮| 色婷婷激情| 五月丁香影院| 中文字幕综合网| 伊人日日干| 人人干av| 久久总和99| 久久久久久久人妻| 91疯狂操操操操| 激情五月丁香五月| 久久人人九| 97在线视频观看| 日本欧美啪啪| 女人天堂 AV| 五月丁香综合激情| 99在线观看| 久久九九大香蕉电院| 999久久久国产精品| 99色综合| 久热这里只有精品性色AV| 日韩操| 91婷婷| 婷婷性爱五月天丁香网| 开心五月丁香啪| 99爱在线精品视频免费观看| 久9免费视频| 色婷丨日丨天丨综合久久| 欧美影院| 婷婷久久精品| 五月综合在线| 国产熟女大叫受不了| site:ornaments52.com| 香蕉AV777XXX色综合一区| 色玖玖综合网| 国产亚洲在线| 久久五月天色婷婷| 色婷大香蕉| 亚洲综合在线丁香五月| 桃色成人网| 婷婷月五天在线在线看| 婷婷五月天av| 人人人人人人人人人草| 色99视频| 五月激情婷婷六月丁香| 99在线精品免费视频| 色九月婷婷| 精品99在线观看| 99热爆在线| 99热久只有精品首页| 九九黄色网| 成人永久免费视频在线观看| 色综合久久888| 91九色熟女| 亚洲天堂婷婷丁香| 丁香五月综合在线| 欧洲综合一区| 婷婷丁香五月综合| 色色五月丁香婷婷| 亚洲妇女熟BBW| 九九视频网| 日本色色图| 91久久| 久久99精品九九久久久婷婷| 九九精品综合| 九九无码| 一本久道综合99| 九九这里是免费的视频5| 一级韩国产精品毛| 天天干,噜噜色,狠狠色| 国产97在线日韩亚洲女人被黑人巨大| 深爱五月日韩| 日韩操逼大片| 国产69久久久欧美黑人A片| 色五月之第四色| 专区无日本视频高清8| 五月婷婷偷| 国产人妻777人伦精品HD| 另类小说五月天激情| 97干干干丁香| 壅壅儕家a| 五月天色婷婷成人| 日韩亚洲视频| 久9综合| 六月激情婷婷| jiujiu无码五区| 五月丁香六月激情| 五月丁香久久| 综合久久人妻| 欧美噜噜久久久XXX| 日日操天天操| 国产九九一区二区三区| 免费久久这里只有精品99| 久久婷鲁| 天天日天天爽| 久久久久婷| 免费国产VA国产免费| 青青久久五月| 99热这里只有精品中文字幕| 中文在线视频久1| 中文字幕婷婷| 亚洲视频在线网| 熟女网站久久| 久热这里只有精品视频免费观看| 99热乎| 99精品久| 日本欧美成人片AAAA| 26uuu日韩| 丁香五月婷婷深爱综合激情| 99热www| 91人人操人人| 性色天| 综合久久婷婷五月丁香| 五月丁香六月婷婷成人| 亚洲综合色激情色五月| 中字幕视频在线永久在线观看免费| 开心激情播播五月天| 婷婷五月AV| 婷婷激情久久| 午夜成人片400| 婷婷成人五月天| 深爱五月天婷综合| 日日噜人人人做人| 激情综合色| 香蕉99网| 九久九精品| www.99热| 人人操日| 激情亭亭五月| 久操97| 99re这里只有精品在线观看| 狠狠色性| 一區四區歐美日韓| 激情网站综合五月天| 超碰成人在线观看| 亚洲在线操| 99色综合网| 久久久噜噜噜操操操| 久久综合婷婷| 亚洲小视频免费播放| 三人荫蒂添的好舒服A片| 五月丁香激情婷婷| 久久五月网| xxx.色婷婷| 丁香婷婷五月六月天| 99精品视频网站| 婷婷六月网| 九九综合视频在线观看| 97ai婷婷| 九九热青青草| 国产操肏网站| 国产毛片精品一区二区色欲黄A片| 色综合天天综合成人网| 五月丁香啪啪| Av九九| 激情第四色| 亚洲人成人五月天| 成人免费va| 涩婷婷五月天| 婷婷丁香五月综合免费视频百花| 99欧州偷拍视频| 久色激情| 五月丁香成人网| 人伦30P| 日韩AV一区二区三区| 日逼影音先锋AV男人资源站| 五月天激情啪啪| 国产精品国产| 9.1综合网| 热99国产精品| 色五月开心开心五月激情五月| WWW久久99久久99久久| 日本97在线观看| 热久免费视频9| 丁香五月玖玖| 91丨九色丨熟女| 97在线刺激| 九九五月天| 婷婷亚洲日本| 色5月婷婷| 九九久热| 日本色色色| 五月天成人在线视频网站| 色情丁香五月婷婷精品| 大香蕉av在线| 99.色| 天天干狠狠艹| 色播五月丁香| 极品嫩草| 色 免费网站视频| 青草性爱视频| 99.N在线视频| 欧美性猛交99久久久久99按摩| 91色综合久久| 久久丁香五月综合六月激情红杏视频| 五月涩涩网| 天天爱天天做天天| 性无码专区无码| 婷婷五月综合社区在线| 六月99天天婷婷激情综合| 五月婷婷,六月激情| www,婷婷| 五月天婷婷成人网| 丁香五月人妻| 国产资源91在线| 超碰免费大香蕉| 九九av| 久久婷婷五月综合色天| 秋霞三级影视资源| 久久精品9| 中文字幕在线日亚州9| 性爱网五月婷婷| 九九热99视频在线| 久久A V无码视频| 久久色天堂| 国产精产国品一二三在观看| www.99视频| 成人色色视频| 国产AV一区二区三区最新精品| 国产免费一区二区三州老师F1F1……| 丁香五月天殴美激情| 91狠狠色丁香| 婷婷五月丁香香蕉| 日日操夜夜撸| 久久一级片| 激情五月天开心网丁香无码| 高清无码视频网址| 久久婷婷综合基地| 日本色五月| 香蕉久久国产AV一区二区| 久久久久久97| 婷婷五月天大香蕉在线视频观看| 99re热在线视频| 开心激情网五月| 日本色久| 国产婷婷五月天| 99只有精品| 免费看欧美成人A片无码| 懂色av蜜臀av粉嫩av永陈冠希| 亚洲色激婷| 99爱免费在线观看| 五月亭亭直播| 国产在线黄色| 天天色丁香| 9 1 A v久久久| 小视频一区 | 26UUU在线观看| 91操操| 欧美人人女女精品综合五月天| www狠狠| 婷婷五月天激情网| 人人干天天操五月丁香| 婷婷五月成人| 婷婷五月天成人网| 色五月天.con| 无码AV免费精品一区二区三区| 另类小说五月天| 激情综合在线观看| 色色色色欧洲| 思思热视频在线观看| 精品人妻午夜一区二区三区四区| 五月婷综合性中心| 丁香五月激情综合久久| 狠狠草在线观看| 色婷婷在线视频观看| 亚洲六月婷| av国产精品| 五月婷婷开心色伊人| 思思99热| 成人五月天视频播放| 综合久久婷婷99| 狠狠干2007| 99热在线观看| 亚洲色在线观看| 丁香久久激情俄| 最新丁香六月婷婷| 天天肏在线观看| 亚洲成人综合在线| www.91有码.com| 丁香六月天婷婷色| 99爱视频| 婷色人人狠| 婷婷五月色| 亚洲色综久久五月| 色五月婷婷很很操| www.五月婷婷.com| 午夜不卡久久精品无码免费 | 日韩1区2区| 91久久久久久久久久| pom538精品视频| 伊人干综合| 国产午夜精品AV一区二区麻豆| 亚洲精品性色| www.99婷婷| 丁香婷婷啪啪| 五月丁香综合网| 五月天色图| 99视频| 夜夜干夜夜操| 激情五月天情色| 人人干人人操人人摸| 狠狠99| 色色色色色网| 色色亚洲五月天| 网色99| 嫩草AV久久伊人妇女超级A | 爽天天天天天天天| 激情五月伊人婷婷| 婷婷色偷拍| www.婷婷| 久久思思热| 丁香综合伊人| 色天堂操| 天天揷综合网| 99久久激情视频| 九九色欲网| 九九爱这里只有精品| 婷婷无五月无码视频| 久久 天天| 国产六月婷婷| 激情五月婷婷丁香六月| 色99婷婷五月天| 色婷婷久久| AV操操操| 婷婷五月天成人基地| 九九热九九| 一本到不卡高清DVD| 亭亭色色五月天| 这里只有精品免费观看网占| 婷婷AV丁香| 五月丁香久久激情网| 爆乳熟女一区二区三区爆乳| 色网五月婷婷| 亚洲无码99| 大香蕉久| 一本道综合网| 欧美性二区| 亚洲激情| 991自拍视频| 粉嫩AV久久一区二区三区| 婷婷娌伦网| 思思热久久爱| 色狠狠综合网| 一本道综合网| 91久久免费| 三级黄色大片视频| 婷婷成人五月天| 操操人人| 六月婷婷操逼| 69超碰在线| 久久五月婷| 色九区| 婷婷久久五月天丁香| 婷婷色情六月| 五月天六月色| 五月婷婷五月天| 五月伊人婷婷| 丁香午夜天| 日日夜夜狠狠干| 久久亚洲婷婷| 99久久婷婷| 网色99| 超碰99热精品| 亚洲中文字幕AV| 综合一区二区三区| 9久久精品| 这里只有精品视频99| 亚洲精品国产setv| 丁香激情婷婷网| 婷婷激情综合网| 亚洲激情视频网| 日韩av大全| 天堂婷婷五月色| 亚洲丁香五月天在线视频| 丁香五月自拍| 人人干人人操人人摸人人做| 丁香五月冃欧美| 天天草天天日| 五月丁香色六月激情干大屄| 欧美成人精品A片免费一区99| 另类激情综合| 色五月综合激情| 五月婷色色| 国产毛片精品一区二区色欲黄A片| 91超碰人人操| 黄网在线免费| 五月天停停日日| 婷婷97碰碰| 成人做爰A片免费看网站找不到了| 婷婷丁香色五月亚洲| 99在线观看这里都是精品| 色播丁香五月婷婷操:屄| 岛国资源网| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 久久天天| 婷婷五月色播天| 五月天伊人久久| 99热综合在线| www。88热在线视频免费观看| 丁香婷五月| 天天操人人干| www五月| 婷婷婷婷午夜| 超碰99热| 大地资源色婷婷视频在线| 天天澡天天狠天天天做| 日日夜夜天天| 超碰9在| 激情网第九色| 五月婷在线播放| 91啪啪视频| 色97综合婷婷天天色| 五月丁香色狠狠干大屄| www99精品| AA片在线观看视频在线播放| 色综合狠狠色| 五月天婷婷乱| 婷婷九月| 超碰成人AV| 9er热在线精品视频| 狠狠五月激情婷婷直播片| 狠狠操天天干| 操大屄五月天视频| 五月丁香久久精品在线观看| 国产精品久久久海的味道| 婷婷综合五月| 欧美大香蕉视频| 久久婷婷操| 色播五月丁香| 亚洲婷婷基地| 丁香六月欧美| 激情五月天天| 在线五月色播| 99热这里有精力| 五月婷婷亚洲色图| 亚洲精品性色| 亚洲V国产V欧美V久久久久久| 伊人狠狠色婷婷综合丁香一区| 狠狠干夜夜干| 日本黄色三级片内射| 91人人操.COM| 丁香五月激情网| 五月四色激情| 亚洲AAA| 五月激情六月综合| 激情99热| 久久精品系列| 久久9RE热视频精品98| 五月婷婷激情色情网| 婷婷91| 九九av在线| 五月天婷婷无码| 婷婷丁香综合| 五月综合视频| 久久性视频| 亚洲色人妻| 五月丁香久久丝袜啪啪| 国产99久久久国产精品免费看| 九九av| 婷婷六月丁香1| 日本一级黄色电影| 久久狼人天堂| 综合色图区| 色偷偷五月天| 色狠狠激情五月| 天天天天天天操| 91丨九色丨大屁股| 五月天天天色| 俺也去婷婷五月天第五色| 久久婷五月| 成人在线不卡| 二色av| 久热这里只有国产| 午夜69成人做爰视频| 99综合网| 天天激情视频| 夜色热久| 色色色无码| 碰碰碰91| AV在线免费网站| 99视频内射三四| 九九热免费视频| 狠狠操天天操综合| 婷婷丁香久久网| 高清视频一区| 亚洲综合另类| 色五月丁香五月婷婷五月成人网| 精品一区二区三区三区| www.五月天婷婷| 久久9久| 9一精品视频观看| 婷婷成人av| 99色色视频| 97色片| 丁香五月人妻| 亚洲成人乱码av网站| 九九色婷婷五月天| 99精品热| 丁香五月天在线视频| 青青草免费公开视频| 激情五月亚洲| 婷婷综合精品| 免费观看全黄做爰的视频| 久色五月婷婷综合| 亚洲视频国产一区| 色五月婷婷五月天| 丁香五月五月婷婷| 婷婷丁香五月亚洲欧美| 欧美特大片黄| 久久五月激情| 六月婷婷影院| 久操人妻| 亚洲成人av中文| 婷婷午夜精品久久久| 96人人操人人操人人| 国产精品 的国产| 五月天色丁香| www.狠狠艹| 97人人草| 久久日曰| 亚洲无AV在线中文字幕| 日本婷婷在线| 俺去啦综合网| 天天激情5月天亚洲| 久久婷婷五月综合色丁香花| 五月丁香久久网| 狠狠人妻久久久久久综合丁香| 激情婷婷视频在线| 国产XXXX搡XXXXX搡麻豆| 五月天丁香| 色青青视频| 美女激情综合| 99精品手机在线视频| 欧美25p| 丁香六月婷婷激情| 久久99热这里只有精品23| 狠狠色大香蕉| 丝雨一区二区| 亚洲亚洲人成综合网络| 91精品婷婷国产综合久久| 婷婷五月综合视频| 五月情综合| 欧美影院婷婷| 久久久久婷| 婷婷丁香18| 亚洲成人免费在线| 九九亚洲视频| 五月丁香婷婷激情四射迷人| 粉嫩AV久久一区二区三区| 玖玖在线视| 久色欧美| 特级片神马电影| 久久99最新| 天天做天天爱天天搞| 久Se视频在线观看| 五月婷免费视频| 丁香五月天日韩无码| 丰满少妇猛烈A片免费看观看| 亚洲欧美综合7777色婷婷| 99热这里只有精品5| 久久五月婷天天干| 五月丁香啪啪啪啪| 五月丁六月香av| 天天日夜夜B久久| 欧美色图45678| www色色com| 99免费热视频在线| 色婷婷操逼| 五月婷婷啪啪啪| 色色色在线| 999久久久国产精品| 欧美婷婷六月丁香综合色| 六月婷基地| 婷婷丁香综合| 五月丁香网站| 国外亚洲成AV人片在线观看| 欧美成人一区二区三区在线视频| 天天天天操| 99国产精品久久久久久久久久久| 免费看欧美成人A片无码| 亚洲婷婷免费| 人妻精品一区二区三区| 99热这里只有精品4| 五月综合婷婷五月| 大天天伊人| 97在线刺激| 婷婷午夜天| 色综合色综合网| 欧美三级巜人妻互换| 无码成人播放器| 色99xx| 色玖玖玖| 99re99在线看| 五月婷婷激情69| 九九九九这里只有精品| 26.uuu丁香五月婷婷| 激情久久久久| 国产肥白大熟妇BBBB视频| 亚洲色婷婷网站| 五月丁香婷婷六月天| 日日夜夜天天爽| 婷婷五月丁香超碰| 激情开心五月天| 9色91视频| 色婷婷综合电影| 色久九| 婷婷在线操| 啪啪小说五月天| 丁香婷婷五月天激情四射| 婷婷六月色| 2050人人操免费工开爱| 97资源碰碰在线| 丁香五月婷婷无码AV| 欧美视频在线观看噜噜| 激情 婷婷| 丁香六月激情| 成年视频免费观看| 色五月成人婷婷| 国产精品五月天婷婷| 丁香婷婷六月天| 天堂成人A片永久免费网站| 伊人大香蕉综合在线| 婷婷99| 婷婷久久亚洲| 色色五月婷| 六月丁香成人| 九九热九九热精品| 婷丁香五月天| 免费91久久精品| 色狠狠综合| 五月激情婷婷开心| 91超碰人人操| 九九干视频| 五月天性色| 久操人妻| 色婷婷色五月综合| 婷婷涩涩网| 天堂久久精品| 日本wwww在线| 五月天开心成人网| www99精品| 中文字幕高清av| 可以直接看的av| 99精品久久久久久久久| 婷婷五月天无码视频| 婷婷五月天天爽| 久久婷婷免费| 色爱99| 亚洲中文字幕AV| www.久9| 97好吊操| 五月天网址在线刘玥| 精品成人久久久久久久_一二三四视| 天天檫天天爽| 97碰碰碰免费公开在线视频| 97人人射| www.色五月.com| 97在线干| 丁香五月婷婷色| 亚洲成av人影院| 丁香五月天在线观看视频| 婷婷五月天av| 色综合久久88| 天天天天天日| 青青草99re| 婷婷伊人五月| 北条麻妃九九九国产精品视频| 色五月婷婷狠狠撸| 狠狠色成人影片| 99色中文| 狠狠丁香| 亚洲AV日韩无码| 操逼三区| 情色婷婷五月天| 伊人久久大香线蕉av一区| 午夜福利成人AV91| 日本五月婷婷| 丁香五月97视频| 激情五月视频在线婷婷| 91丁香婷婷综合久久欧美| 日本欧美国产| 91丨九色丨老熟女激情| 日本社区五月天激情| 大香蕉福利导航| 婷婷六月视频| 亚州精品成人片| 日本人人xxx| www:99热视频| 九九99香蕉在线视频播放| 激情视频综合| 99视频自拍| 性色人人爽| 欧美激情综合| 激情婷婷另类| 综合97五月| 天天插天天插天天插天天插| 五月丁香六月婷婷精品| 日日夜夜狠狠| 日日懆天天懆| 中文在线成人| 天天精品视频免费观看| 欧美久久五月婷婷| 日本成人内射| 欧美影院| 成人天天爽| 久久精品99国产精品日本| 久久开心五月婷婷| 中文字幕网站在线观看| 久久九九爽| 99热这是里只有精品| 刘玥av在线| 丁香五月婷中字幕| 五月婷婷狠狠干| 狠狠爱婷婷五月天| 色丁香婷婷| 啄木鸟黑丝一区二区| 97碰碰免费.视频| 久久99最新| www.色多多婷| www.97碰碰com| 五月天·www·com| 婷婷丁香综合色AV| 久久久久9| 久久艹网| 丁香五月天啪啪| 思思视频精品| 九九成年视频| 99热精品中文字幕| 欧美色色色| 99精品久久久久| 97碰碰碰免费公开在线视频| 五月综合无码| 99久久a线观| 人人操人人添人人摸97| 直接看的AV| 五月婷婷在线综合| 五月丁香网视频| 欧在线一区| 色婷婷五月综合| 五月天影院| 色婷婷导航| 日韩精品在线观看9| 国产欧洲欧洲精品久久| 色五XX| 五月丁香爱婷婷深深| 99re这里有精品手机在线| 9热在线视频精品| 强壮公让我夜夜高潮A片视频| 五月婷婷丁香俺日污视频| 人人色性网| 99热国内精品| 天综合日日夜综合7799| 激情五月天婷婷| 五月婷婷啪啪啪| 婷婷五月深爱五月| 五月天 综合 在线| 91人人操人人| 亚洲成人中文字幕| 97日韩无套内| 人人爽欧美婷婷久久久五月丁香| 色色色视频| 九九九九综合| 国产婷婷五月| 亚韩精品视频1区| 99热91| 色欲婷婷五月天| 久久久久人妻| 九九色综合视频| 婷婷五月天熟妇| 天堂爱爱| 这里只有精品偷拍| 久久9久| 9月色婷婷| 9婷婷内射| 伊人影院久久网| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 天天做天天爱天天玩夜夜爽 | 婷婷五月精品中文字幕| 婷婷丁香五月天欧美| 大香蕉九九| 婷婷天堂综合| 色婷婷A| 99日本视频| 激情性爱网站| 99热在线网站| 欧美日本高清视频99| 日本97在线看片| 真实的国产乱XXXX在线91| 欧洲MV日韩MV国产| 丰满少妇猛烈A片免费看观看| 久久人人妻| 日韩视频99| 99久在线精品99re8| 久操大| 人妻AV在线观看| 97在线综合| 六月丁香啪啪啪| 五月婷亚洲精品AV天堂| 亚洲愉拍99热成人精品| 91精品无码| 99精品自拍视频| AV中文在线| 日本狠狠色| 公的粗大挺进了我的密道| 五月天丁香| 人妻久久久| 青草视频在线播放| 99久久超级| 五月天激情日色在线| 色婷婷玖玖影院| 金品在线视频99| 亚洲久久日| 日韩成人AV在线| 欧洲99视频在线| 天天日夜夜草进麻麻的子宫| www色中色综合| 99A片| 亚洲精品影视| 丁香九月激情| 超碰色碰碰| 天啪色| 久久久91| 五月丁香啪啪激情| 色99欧洲色19| 超碰国产在线观看| 五月激情六月综合| 亚洲欧洲中文日韩久久AV乱码| 色情网综合| 9热视频在线观看| 丁香五月狠狠在线观看| 成人狠狠成人狠狠成人狠狠成人狠狠| 五月丁香淫淫婷婷婷| 婷婷色九月| 久久婷婷五月天| 成人无码中文| 婷婷五月天色色| 色五月天成人在线| 色欲一二三| a网站免费观看| 久久人人做人人妻人人玩精品va| 中文字幕婷婷在线| 丁香婷婷六月婷婷六月婷婷六月婷婷 | 丁香六月色婷婷| 五月丁香久久网| 精品香蕉99久久久久网站| 91热久| 538在线| 激情丁香五月天| 日本天天操| 99在线播放| 26uuu.| www五月天com| 97操碰人免费| 亚洲人成色A777777在线观看| WWW.99热| 男女啪啪视频久 9| 五月婷婷啪啪综合网| 伊人五月天| 碰碰碰91| 五月天五月色| 99综合久久| 色婷婷影视99| 人妻乱码久久久| 九九99香蕉在线视频播放| 屁股翘好撅高迎合跪趴| 午夜不卡成人一区二区| yellow视频在线观看91| 五月婷婷六月激情| 99re最新地址视频| 五月天成人综合| 国产精产国品一二三在观看| 大香蕉久久久| 丁香五月天啪啪a日本| 99自拍视频在线观看| 91人人操| 婷婷开心久久| 色五月激情五月| 九九热欧美| 2020日日干| 超级碰 久久9| 婷婷六月激情丁香| www.zbzhongsen.com| 欧美性猛交99久久久99| 六月丁香成人网| 国产毛多水多女人A片| 日韩啪啪网| 97操碰视频| 91视频久久久| 99在线精品视频| 97色在线观看视频| 色五月天在线观看| 西西4r午夜剧场| 婷婷五月天视频小说| 狠狠操狠狠操| 久久婷婷视频| 婷婷五月天激情视频| 五月婷在线观看| 97AV在线视频| av在线免费网站| 热99久| 欧美va在线观看| 久久婷婷综合拍| WWW.婷婷| 超碰人人操人人9| 五月丁香久久网| 网站免费一站二站| 另类图片五月天激情| 五月花婷婷丁香| 教师性爱毛片| 综合五月天婷婷色| a免费在线| 欧美精品熟女一区二区| 日本三级99人妇网站| 色情一区二区播放| 岛国AAAV| 婷婷丁香五月综合激情视频| 精品9久| 人人爽欧美婷婷久久久五月丁香| 9色小视频在线观看| 激情五月天伊人av| 中文字幕婷婷在线| 可以直接看的av| 久久久久婷| 久久久WWW| 丁香五月婷婷六月婷婷| www.91色| 第四色婷婷五月| 色婷婷激情视频| 亚洲美女网Va| 91色综合| 风流少妇A片一区二区蜜桃 | 色九月欧美| 国产精品国产| 五月综合色| 色婷婷婷婷| 婷婷丁香六月| 激情综合网之激情五月| 9精品久久999| 丰满熟女人妻一区二区三| 2015WWW永久免费观看播放| 五月丁香无码| 99色色网站| 五月丁香六月综合图| 另类激情综合| 天天性视频| 精品一二三区久久AAA片| 这里只有精品网| 91网站黄| 精品国产乱码久久久久夜深人妻| 草做免费在线观看| 国产精品视频免费看| 亚洲狠狠干| 草草操操| 无码 av电影| 五月综合无码| 黄色aaaaa| 亚洲AV成人无码精品| 另类激情五月在线视频欧美| 开心婷婷五月天综合| 中文字幕婷婷9月天| 66色在线日韩| 欧洲精品欧洲情| 丁香五月婷婷激情完整版| 色五月婷婷久久| 色久免费| 五月久久婷婷丁香| 日韩AV免费看| 久久新地址| 好好干av| 日韩一级片| 久久ri精品| 色色婷婷五月天| 激情网五月婷婷| 九九色中文| 天堂美国久久| 色色网站在线| 五月婷婷中文| henhencao国产在线| 天堂综合久| 久久久天堂国产精品女人| 婷婷色在线视频| 亚洲人妻一区二区| 婷婷五月激情综合| 亚洲无码九九九| 丰满少妇猛烈A片免费看观看| 五月综合色| 99这里只有精品在线观看| 碰超99| 久久艹网| 香蕉AV777XXX色综合一区| 婷婷黄色| 亚洲综合丁香五月天| 国产裸舞福利资源在线视频| 神马欧美精| 丁香五月瑟瑟| 97色吧| 99这里只有| 天天综合五月天| 五月停停激情网| www,欧美干干干干干干| 99久久久免费| 久久激情五月网| 99视频啪啪| 丁香,开心成人,久久| 丁香六月婷婷久久综合| 久久99综合网| 色爱五月天| 亚洲 五月 婷婷 成人| 干亚洲天堂| 丁香婷婷久久| 五月丁香av中文| 99热久97| 九九re视频在线视频| 99天堂在线观看免费视频| 婷婷亚洲综合| 中文字幕黄色片| 色爱亚洲| 国产无套精品一区二区| 中文在线成人| 婷婷五月免费视频| 狠狠搞亚洲| 天天干天天爽天天操| 国产综合激情五月久久| 综合在线网| 99 热| 中文网AV| 五月丁香怕啪啪| 亚洲色精彩| 婷婷五月综合婷婷| 亚洲精品va| 丁香五月性爱| 人妻aV在线| 亚洲第一成人无码A片| 日本3级片一区2区| 丁香婷婷色色| 五月丁香久| 色播婷婷五月天| 粉嫩av懂色av蜜臀av熟妇| 久久婷婷国产| 久热超碰| 亚洲色五月天| 337p大胆噜噜噜噜噜91Av| 色噜噜狠狠色综无码久久合欧美| 深爱激情五月网| 婷婷五月天色色| 色五月综合| 五月丁香啪啪啪| 超碰成人黄色网| 成人AV片播放| 久xxxx| 国产1区2区3区| 激情五月天黄色小说| 成人婷婷桔色| 色婷五月| 久久九九色| 久久婷婷热| 激情六月婷婷| 色色色九九九五月婷婷| 丁香五月 激情文学| 婷婷色片| 九九综合色| 国产欧美日韩一区二区三区| 五月亭亭综合五码| 狠狠操综合| 91超级碰碰| 色欲一区二区三区精品A片| 中文字幕操比影片| 日本免费91| 丁香婷婷六月婷婷六月婷婷六月婷婷| 国产六月婷婷| 天天日天天爱天天噪| 五月婷婷色播| 色999亚洲人成色| 1024欧美看片| 97操视频| 深爱五月天 开心网| 伊人五月综合网| 久久九九色| 亚洲成人丁香花| 成片免费播放| 综合五月激情| 欧美大香蕉视频| 福利视频在线播放| 婷婷之玖玖| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 婷婷六月激情丁香| 婷婷五月天网址| 日韩免费视频| 99久久五月天| ,99视频久久| 精品人妻一区二区| 五月婷婷综合在线| av人人操| 婷婷五月天伊人在线| 四色99久久| 久久亚洲婷婷| 激情婷婷五月天丁香| 色狠狠999综合网| 亚洲天堂色色| 91色操| 六月色五月天天婷婷| 色欧美影院| WWW.亚洲无码| 色优久久| 天天舔天天爽| 青柠影视免费高清电视剧| 婷婷丁香五月天影院| 99精品无码网站| 婷婷五月天激情网| 99久久色| 色综合久久伊伊婷婷五月| 色九九九九| 精品人妻在线免费观看| 激情婷婷色色| 五月丁香婷婷AV| 国产精品天天狠天天看| 亚洲婷婷91丁香| 婷婷干五月综合在线播放| 婷婷五月天久久久| 丁香五月天激情四射网| 99热这| 五月丁香激情婷婷综合| 五月天综合婷婷| 丁香婷婷婷五月综合色情| 免费在线a| 热的国产,热的综合,热的有码 | www.婷婷五月天.com| 色色色网站| 伊人玖玖精品| 九热视频| 婷婷在线中文字幕| 97五月天婷婷午夜| 婷婷九月丁香| 91综合在线视频| 激情综合网五月激情| 亚洲视频综合网| 99re资源在线视频导航| 精品一区二区三区四区五区六区介绍 | 久久曰曰| 婷婷五月综合社区| 成人一区在线观看| 丁香九月婷婷色| 97在线观看| 丁香五月第九色| 丁香五月天激情综合| 玖玖无码中文| 这里只有精品无码| 五月婷婷丁香综合,亚洲天堂| 思思精品久久艹| 亚洲蜜桃精久久久久久久久久久久| 无码地址| 91久久久久久久久18| 青草网在线观看| 婷婷综合网| 亚洲色五月| 99热手机在线精品| 97人人草| 五月丁香六月婷| 久er7久热| AA片在线观看视频在线播放| 五月婷无码| 爽tv | 激情开心五月亚洲| 丁香狠狠色婷婷久久无码视频| 五区毛片七区毛片| 丁香丝袜五月| 熟妇无码乱子成人精品| WWW、日本色丁香、co m| 日韩精品无码一区二区|