99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜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
返回資訊列表
亚洲精久久| 婷婷激情五月天综合| 天天激情欧美美女| 婷婷五月丁香五月天| 射婷婷中文字幕| 五月天丁香| 99爱这里只有精品| 激情久久久久| www.99热在线| 7777久久亚洲中文字幕| 亚洲精品白浆高清久久久久久| 五月婷婷婷婷网| 另类在线| 爆乳熟妇一区二区三区爆乳照片| 日本在线观看91| 一起草性爱不卡视频| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 视频一二区| 人妻久久久久久| 成人丁香婷婷| 丁香五月激情综合啪啪| 思思99精品视频在线观看| 日韩AV中文字幕在线| 色色亚洲视频| 天天色宗合| 天天摸天天舔| 五月天婷婷激情| 日韩精品无码99| 99精品在线| 婷色综合| 色婷婷文字幕| 欧美激情中文字幕| 亚洲无码黄色| 亚洲无码黄色| 久久人人九| 色啪久| 97色色视频| 亚州色婷婷| 丁香婷婷六月| 99热大香蕉| 天天操天天干天天日| 久久久久久丁香五月| 日本色婷婷综合| 99九九99九九九视频精彩| 99精品久久久久久久久| 毛片蕉地一二| 91超级碰| 另类图片激情五月天| 成久综合视频| 色青青视频| 人人操Av| 国产另类综合| 亚洲av综合网| 国产中文亚洲欧美日韩性交| 五月婷六月综合在线观看| 人妻AV在线观看| 99久久久久久| 日本婷婷丁香五月| 日操夜撸| 天天干天天拍| 狠狠狠狠狠| 日韩黄黄| 日本黄色三级片内射| 五月天婷婷色色| 丁香婷婷色五月| 91色婷婷综合久久中文字幕二区| 亚洲成人AV高清字幕| 嫩草AV久久伊人妇女超级A| 天天干,夜夜爽| 99这里只有精品| 五月色情| 欧美激情综合色综合啪啪五月| 欧美精品啪啪| www.五月激情红色| 9热在线观看| 欧美日韩成人免费在线| 夜夜骑天天玩天天日| 丁香婷婷视频一区二区| 婷婷五月丁香综合| 婷婷五月天99综合网站| 97丁香五月| 色婷婷大香蕉| 天堂草在线看www| 99爱视频在线| 粉嫩AV久久一区二区三区| 免费看成人AA片无码视频吃奶| 亚洲无码影音| 日夜操B| 99免费视频| 激情婷婷六月天| 九九视屏| 色九九综合色| 色色婷婷五月| 色婷婷综合亚洲| 69精品人人人人| 婷婷热色| 伊人六月丁香婷婷| 另类激情综合| 97香蕉人人在线观看| 丁香五月天堂| 67久久| 婷婷五月激情的图片| 婷婷99狠狠| 亚洲综合婷婷六月丁香五月| 久99| 97se视频在线| 色五月首页| 久久与婷婷| 色激情五月天| 99噜噜噜在线播放| 色婷婷综合视频| 色色 9| 五月婷婷大香蕉| 大香蕉网 久久| www99在线观看视频| 五月丁香欧美综合免费视频| 五月天激情四射| 久久久999精品| 国产又粗又大又爽又黄| 99综合视频一体| 天天干狠狠艹| 婷婷99狠| 亚洲激情色色| 秋霞少妇AV网站| 丁香五月手机在线| 久久婷婷五月天激情四射| 欧美99| 九九这里是免费的视频5| 国产精品视频久久99| 99精品国产热久久91色欲| 超极99精品| 久久亚洲婷婷综合色五月| 青草五月天| 三十熟女| 亚洲激情综合五月婷婷啪啪| 久久精品凹凸分类| 巴基斯坦粉嫩无码视频| 丁香婷婷六月| 狠狠摸狠狠摸| 99免费| 9 99免费视频| 外国碰视频网站97| 97人人操人人爽| 久久久久这里只有精品| 激情图片婷婷丁香五月| 色老久久| 天天做天天爱天天爽夜夜揉| 久久久97| 丁香婷婷六月激情| 国产性av| 99热在这里只有精品| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | www.激情五月天| 中字幕视频在线永久在线观看免费 | 天天摸天天透天天舔| 婷婷六月丁香五月图区| 婷婷激情五月色综合| 青柠影视免费高清电视剧| 香蕉AV777XXX色综合一区| 五月婷婷黄色| 日本久久99| 亚洲综合在线视频| 婷婷情色开心五月天99| 99这里只有精品|v| 亚洲成人AV在线播放| 日本99在线视频| 伊人网碰碰| 久超超碰| 丁香婷婷久久激情| www.久9| 六月天婷婷| 色婷婷文字幕| 五月丁香激情综合网| 欧美久久五月婷婷| 婷婷色偷拍| 超碰日日操| 久久亚洲A| 午夜少妇在线观看视频| www.99日本| 麻豆雪千夏| 99色网站| 综合色五月亭亭| 噜噜久| 97久久五月丁香婷婷| 极品另类| 五月婷婷中文网| 91九色PORNY大屁股| 五月婷婷丁香俺日污视频| 98永久精品| 婷婷开心激情| 淑女丝袜bi操逼123| 91互操| 婷婷五月情| 开心五月深爱五月婷| 国产第99页| 色欲天天综合网| 丁香五月另类小说在线阅读| www.久久久久久久久久久| 久久久香| 色欲天天综合| 国产日批视频| 玖玖色综合网| 国内久久久精品99| 色天使久久综合| 99热综合在线| 婷婷丁香五月综合激情小说| 婷五月丁香俺| 日本女人久久| 日韩啪啪自拍| 久久精品A片777777| 久久这里都是精品| 就去涩涩丁香五月天| 99在线观看精品| 色欲一区二区三区精品A片| 五月丁香六月婷婷啪啪| 久99热| 婷婷五月天成人导航| 99在线视频。| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 精a品a视a频| 婷婷五月天涩涩| 99爱视频在线| 久久色婷婷| 日日夜夜小色哥| 久久婷婷伊人| 在线中文亚洲| 99九九热视频| 婷婷五月无码| 五月丁香六月激情视频| 五月天激情社区| 五月婷婷开心亚洲无| 天天操精品| 人妻丰满精品一区二区A片| AV成人在线播放| 人人做人人看人人摸| 丁香五月天婷婷在线视频| 人人97操| 久激情| 真实熟女-91九色| 五月天综合网| 99国产精品久久久久久久久久久| 日日夜夜狠狠| 精品久久久久成人码免费动漫| 一级黄色影片| 五月开心网| 婷婷五月激情综合| 五月天婷婷激情在线色图| 玖玖婷婷色五月| 亚洲成人在线五月天| 亭亭五月激情亚洲在线| 操你av| 天色综合网站| 丁香六月无码播放| 色99色| 色五月婷婷小说亚洲中文字幕组| 激情五月天视频| 玖玖资源站蜜臀| 激情婷婷六月| 真实亲子乱子伦高清在线观看| 99日这里只有精品| 这里只有精品视频在线| 亚洲综合99| 99久热在线精品| 久久五月天色婷婷| 日日撸夜夜操| 综合aV在线| 日韩日比视频在线| 丁香五月AV| 婷婷五月丁香超碰| 影音先锋色色色资源色资源色| 久久婷综合| 丁香婷婷精品视频| 日韩99色99| 激情五婷网| 26uuu日韩| 久久99久久99精品免观看粉嫩| 亚洲婷婷91丁香| 综合网激情五月天| 成人午夜视频精品一区| 五月丁香婷婷五月色| 久久综合66| 国产操B| 色色97丁香婷婷五月天| 六月丁香啪啪啪| 热99这里只是精品| 丁香美女主播视频在线观看| 中文字幕,综合,91| 久久婷婷五月天| WWW.国产| 五月综合丁香婷婷| 99久久精品网| 91婷婷| 人妻丰满精品一区二区A片| 综合久久丁丁香婷| 五月婷婷基地| 六月丁香社区| 亚洲操人| 日本天堂免费99| 婷婷五月天av| 国产欧洲欧洲精品久久| 国产美女无遮挡裸体毛片A片| 猫咪伊人AV| 亚洲一级色电影| 婷婷五月天777| 午夜婷婷五月天| 色婷婷888| CHINESE熟女老女人HD视频| www.91av.com| 婷婷第六色| 国语精品探花| 中文字幕永久在线| 婷婷色九月| 亚洲婷婷丁香五月亚洲| 国产欧美第五十五页| 日本操B视频在线观看| 久9热视频在线观看| 五月丁香 久久久| 天天操综合网| 西西4r午夜剧场| 99精品久久久久久久婷婷| 久久婷婷五月草视频| 激情AV在线| Av中文在线| 日本精品在线噜噜噜| 亚洲欧州色情在线观看| 丁香五月花| 欧美综合五月丁香六月婷| 国际国外精品欧洲南美洲专区无码不卡| 婷婷丁香97| 国产精品成人网址| 五月天久久www| 五月天啪啪视频| 久久五月情| 六月婷婷亚洲| 婷婷99狠狠躁天天久久久九九九| 91热er| 久久性操| 五月色丁香| 天天爽天天干天天| 国产性爱大片久久| 婷婷五月丁综合| 第九色区av天堂| www.99在线| EEUSS鲁片一区二区三区| 久草婷婷在线| 丁香五月激情综合啪啪| 婷婷六久久| 26uuu欧美亚洲日韩| 色偷偷五月天| 日韩无码一区二区三区四区| 欧美性爱五月天| 96精品久久久久久久久| 亚洲综合网 665566| 婷婷五月欧美| 五月天婷婷综合免费| av五月天婷婷丁香| 五月天激情久久| 97sese婷婷| 激情五月婷婷综合色播小说| 亚洲天堂玖玖| 五月丁香成人小说| 色99日韩| 狠狠色综合网| 色五月婷婷激情五月| av国产精品| 五月天丁香啪啪综合| 五月天色区| 久久99热这里只有精品首| 中文字幕永久在线| 九九视频精品在线免费| 久久日婷婷| 婷婷射婷婷舔| AV色婷婷| 99操碰| 激情五月综合ì香亚洲| 99热人人操人人操| 久久人人九| 婷婷伊人综合中文字幕| 五月激情视频| 丁香六月天之亚州热女| 色婷婷情片| 91ncm视频| 亚洲色五月| a网站免费观看| 第六色在线| 九月性爱网| 99只有这里有精品在线视频| 亚洲色9| 国产精产国品一二三在观看| 99国产这里只有精品| 婷婷五月综合色中文字幕| 极品另类| 丁香伊人综合| 国产精品电影网| 天干夜夜操| 色五月丁香一区在线| 五月丁香六月片| 亚洲va国产va天堂va综合va| 99在线观看视频精品| 日本久久激情| 日韩黄黄| 97人妻碰碰碰久久| 亚洲精品V天堂中文字幕| 久久性爱视频这里只有精品| 激情视频网址| 一级韩国产精品毛| 婷婷五月天成人网| 日韩一级网站| 色综合性视频| 色综合久久综合中文综合网| 性av| 激情综合婷婷| 俺去啦综合网| 天天在线天天综合网色| 五月丁香色综合| 成人av免费观看| 天天色综合图片| 久久激情综合| 玖玖五月丁香| 婷婷五月综合性爱| 国产精品电影| 超碰成人在线观看| 99热精品中文字幕| 少妇人妻凹凸视频| 99热国产在| www.五月天色色色| 色色图五月天| 99国产在线精品视频| 9有码中文| 色99婷婷五月天| 欧美大片免费播放器| www.五月天婷婷| 天天成人综合视频| 亚洲狠狠狠色婷婷综合激情久久久| 久久婷婷亚洲无码一起| 日本综合九九| 夜夜操加勒比| 粉嫩AV久久一区二区三区| 激情四射婷婷| 久久精品系列| 色五月激情婷婷| 久久婷婷五月草视频在线播放| 伊人大香蕉在线视频| 中文字幕乱码亚洲精品一区| 婷婷五月天小说| AV在线大香蕉| 大香蕉婷婷五月天| 超碰色综合| 久热这里| 亚洲碰碰碰| 色婷五月天综合网| 久久开心五月天激情| 操嫩逼电影| 激情涩涩网| 狠狠干五月天婷婷网| 亚洲啪啪网| 999九九九久久久99HD| 在线精品97| 国产一级视频a| 8090在线影视少妇| 婷婷欠久少妇| se婷97| 色婷婷无吗| 丁香狠狠色婷婷久久无码视频| 日韩久久成人| 色色色色色日韩午夜激情 | 久久综合丁香五月| 激情久久四色| 色 丁香婷婷| 678五月丁香亚洲综合| 五月久久噜噜| 插插五月天| 狠狠操.COM| 可以免费看的av网站| 能直接看的AV网站| 狠狠狠色激情综合适合| 五月婷婷激情综合| 99精品久久| 欧美顶级少妇做爰HD| 熟妇人妻中文字幕无码老熟妇| 裸睡玩奶头(高H)| 六月成人网| 男女av免费看| 91九色国产在线| eeuss人妻| 色国产五月| 亚洲色vA| 啪啪综合| www免费在线视频| 五月婷视频在线观看| 五月婷婷,狠狠操| 在线中文字幕视频| 五月天全国最大成人网| 五月天婷婷丁香导航| 激情99热| 中文字幕中文有码在线| 影音先锋91| 婷婷免费精品视频 | www.色9| www.minyis.com【JT】实力收量可预付QQ2101460746 | 婷婷精品综合| 久久久18| 久久月天堂| 久婷久婷| 六月色色婷婷| 婷婷天堂综合| 亚洲传媒在线观看| 久久婷五月| 这里只有精品视频看看| 97极品在线| 丁香五月偷拍| 久久久婷婷五月亚洲97号色| 色婷婷色五月丁香| 婷婷丁香97| 午夜无码熟熟妇丰满人妻 | 激情五月天婷婷图| 天天日本夜夜谢| 丁香五月欧美| 色色五月天网站| 色婷婷五月婷婷五月婷婷五月| 激情小说在线视频| 97久久久久久久久久久| 伊人干综合| 五月婷婷久草在线视频综合| 久99久视频| 1234操逼网| 开心婷婷五月花| 99色网站| 婷色视频| 天天天天天久久久久久| 精品人妻伦九区久久AAA片| 91oumei| 五月色丁香婷婷中文字幕| 人妻激情在线| 日本情色一区二区| 99国产小视频| 字幕网AV中文字幕| 国产va在线视频| 欧美精品999| 五月丁香六月婷婷综合| 婷婷伊人久久综合| 国产肥白大熟妇BBBB视频| 婷婷精品在线| 激情丁香五月婷婷| www.com在线操视频免费观看| 欧美成性色| www.91九色| 婷婷色色丁香| 五月天综合影院| 亚洲字幕AV一区二区三区四区| 欧美日朝成人| 五月婷婷性爱| 色99在线| 99色色视频| 中文字幕不卡+婷婷五月| 五月丁香中文| 热九九九九| 天天撸天天干天天插| 国产,欧美,学生妹,视频| 在线va网站| 99热66| 草综合网| 青青青在线视频国产| 无码地址| 五月婷婷丁香六月| 玖玖九九99| 草草女人亚洲| 日韩欧美骚货| 91日综合欧美| 欧美三日本三级少妇三99| 欧美伊人9| 五月天播播中文字幕| 丁香久久九九99| 日本五月天婷婷丁香| 91女人18毛片水多国产| 99在热线免费视频| 91肏| 99久久九九| 国产视频久色| 在线视频九色97| 日韩十国产极品久久| 日本A片一区| 久久美女五月天| 五月天狠狠色| 激情第四色| www,婷婷五月天777me,com| 久久性爱99国产| 激情网五月婷婷| 狠狠色噜噜狠狠亚洲A∨| 六月丁香综合| 大香网伊人久久综合| 99操99| 亭亭五月天黑人2014| 永久天堂日本| 丁香五月大香蕉| 欧美综合激情五月丁香| 亚洲成人网址在线观看| 色五月大| site:esunnet.com| 国产亚洲99久久精品熟女| 婷婷五月天AV在线| 这里只有精品热| 丁香婷婷视频在线| 9久久精品| 五月天精品| 五月婷婷AV| 97久久超碰| 久久久久久久久久久久久9| 婷婷五月在线播放| 99视频精品全部免费看| 亚洲AV日韩在线观看| 人人爱人人草| 26uuuu精品一区二区| 97操在线资源| av九九| 婷婷操婷婷干婷婷射| 天天久久人人| 婷婷综合九月| 亚洲A片成人无码久久精品青桔| 噜噜五月天综合| 大香网伊人久久综合| 五月综合激情啪啪啪啪啪| 五月丁香婷婷导航视频| 五月天成人在线精品| 91无码高清| 国产美女无遮挡裸体毛片A片 | 久久久精品AV| 亚洲激情Av| 涩五月婷婷| 天天插天天插| 婷婷五月色亚洲| 精品人妻伦九区久久AAA片| 综合色播| 人妻操在线看| 思思热久在线观看视频| 成人丁香色| 97综合视频在线| 色五月在线观看| 欧美xx激情视频在线观看| 欧美天天五月丁香免费观看| 91丨九色丨白浆秘| 91热久| 欧美婷婷色| 天天日天天舔| 五月婷色色| 五月婷婷在线免费观看| 婷婷五月天电影在线| 激情五月天综合网站网站网站| 狠狠色丁香久久| 狠狠爱婷婷五月天| 9色婷婷| 婷婷激情综合网| 久久永久视频| 区美毛片子| 天天综合网站| 激情图片五月天| 性色视频| 狠狠xx| 五月丁香基地| 天天xxxxxx天天日| 99热精品一| 丁香五月视频在线观看| caopeng超碰| 99视频在线| 国产9色在线/日韩| 婷婷性爱网| 伊人色综合影院视频| 成人网站av免费网站推荐| 人妻久热| 97精品欧美91久久久久久久| 五月丁香婷婷基地| 99综合| 99在线精品观看99| 色综合激情| 激情婷婷| 五月婷婷激情综合| av大片在线| 六月色丁香婷婷| 热婷婷av| 99ri视频在线播放| 欧美久久婷婷| 国产1区2区3区在线观| 九九99久久| 色五月婷婷激情综合网| 全国最新疫情| 五月花丁香婷婷| 亚洲婷婷免费| 玖玖色综合网| 五月天激情国产综合婷婷婷| 中文字幕精品无码一区二区| 97色精品视频| 婷婷综合一二三| 激情综合网五月丁香| av在线资源| 久久6这里只有精品| 丁香五月激情六月| 丁香色五月婷婷| 狠狠爱激情网| 无码少妇高潮喷水A片免费| 色色色色欧美| 91久久久久久久久久| 色婷婷综合网站| 狠狠干2007| 六月婷婷五月天| 色色色99| 成人在线观看精品| 五月天婷婷情色| www.五月天婷婷.com| 成人狠狠成人狠狠成人狠狠成人狠狠 | 少妇被下春药玩弄A片| 人五月天婷婷喷水| 97久久草草超级碰碰碰| 91啪级电影| 91婷婷五月天嫩女| 五月丁香综合啪啪| 性爱五月婷婷| 久久99热这里| 精品人妻在线| www.91av.com| 99色天堂| 日日天天干| 人妻22p| 亚洲AV另类| 色噜噜,噜噜色| 中文久久婷婷| 8050一级网| 婷婷在线精品| 五月天最新网| 亚洲字幕AV一区二区三区四区| 91pornav在线| 激情综合网亚洲色图| www99在线观看视频| 99热热热99精品婷婷| 六月丁香婷婷色狠狠久久| 开心五激情网| 99re在线观看| 丁香五月天天| 亚洲另类久久| 九九热在线视频| 五月丁香啪综合| 丁香婷婷色六月| 天天操天天插| 天天色综| 六月丁香中文字幕| 天天日日综合| 人妻丰满精品一区二区A片| 丁香五月综合激情啪啪| 亚洲欧美一区二区三区爱爱动图| 国外亚洲成AV人片在线观看| 婷婷五月综激情| 婷婷五月丁香基地| 久久五月婷天天干| 亚洲视频丁香网va| 丁香五月综合| 久热无码| 日本综合色色| 中文字幕,综合,91| 天天做天天爱天天要| 欧美性生交XXXXX无码小说| 久/久精品99看9| 99热综合色图| 91人碰| 狠狠搞狠狠操| 岛国午夜视频| 丁香五月Av| 5Www色5夜| 丁香色情五月综合网站| 国产成人综合亚洲| 伊人婷婷色激情丁香| 国产亚洲色婷婷久久99精品91| 婷婷99中文字幕| 色色五月婷婷久久| 另类激情码| 日本欧美国产| 九九综合九九| 综合久久99| 色狠狠狠干| 五月丁香综合激情| 亚洲精99| 538在线精品| 色五月婷婷激情五月| 欧美大片| 激情五月婷婷色播网| 伊人九热| 九九婷婷五月天| 99久精品| 久久激情综合| 亚洲激情综合色站| 少妇2做爰HD韩国电影| 五月伊人视频在线看| 国产看真人毛片爱做A片| 五月天自拍网| 在线五月婷| 婷婷六月激情| 久久综合五月天| www色色色com| 丁香婷婷久久综合在线| 久热99久热| 日韩色五月| 色就是色婷婷五月亚洲激情| 欧美日本日韩| 亚洲综合激情五月| 97热精品| 丁香五月社区| 五月天色婷婷网| 99久久亚洲国产| 五月丁香六月香香蕉| site:901-07.com| 风流少妇A片一区二区蜜桃| 婷婷五月激情欧美大胆视频| 碰久久精品w| 六月久久婷婷| 99er6| 99操不停| 九九色综合| 五月婷婷co.m| 97婷婷狠狠久久综合9色| 99热这里有精力| 99免费视频精品| 久热99热| 三年高清大片免费观看国语| 五月丁香六月在线| eeuss人妻| 中文字幕不卡网站| 久热九九| 色色网五月激情| 五月丁香综合| 欧美人人草草| 99免费| 深情五月天| 狠狠爱综合网| 91伦| 亚洲欧美成人在线| 日本色五月| 美女婷婷六月色| 婷婷伊人75| 国产成人精品一区二三区熟女在线 | 狠狠色综合网站| 超碰超碰在线| 婷婷桃色网| 色播五月网| 五月在线| 婷婷之六月丁香| 337p大胆噜噜噜噜噜91Av| 99热最新国内| 婷婷五月天在线观看| 热99在线| 婷婷操逼网| 综合色色婷婷| 天色色综合网| 99燥99日| 久色激情| 亚洲AV综合在线观看| 色射7856五月天激情四射| 五月天啪啪| 五月丁香久久久久| 五月色婷婷综合| 丁香五月激情综合网激情五月| 六月婷婷香蕉| 91九色无码内射| 国产黄色在线| 99精品免费| 九九99免费理论| 黄色激情五月天| 婷婷丁香五月噜噜噜| 欧美婷婷六月丁香综合色连续高潮抽搐| 亚洲色图日韩网址| WWW久久99久久99久久| 亚洲国产精品VA在线看黑人 | 天天草天天爱| 天天婷婷综合| 婷婷九月| www.99久| 五月丁香激情四射综合| 久久婷婷五月天激情| 91男人资源站| 色色色com| 欧美肉大捧一进一出免费视频| 9精品在线| 久久丁香综合| 少妇人妻人伦A片| 99精品综合| 五月丁香综合激情网| 俺也高清无码高清视频| 天天爽夜夜爽夜爽精品| 丁香六月高清视频| 国产欧美日韩一区二区三区| 噜噜综合网| 99在线爽| 亚洲色婷婷婷婷人人爽| 久久99最新| 国产夫妻操逼内射视频| 丁香婷婷激情五月| 百度一下国产精品A| 亚洲日韩乱码一区二区三区四区| 亚洲色五月| 久99热| 乱岳熟女50岁| 五月天色色无码| 婷婷五月丁香第四色超碰在线| 超碰在线观看三级片| 色综合久久之分久久| 国产成人AV不卡| 日本色99网站| 丁香综合久久| 99欧州偷拍视频| 婷婷色婷婷亚洲成人| 色婷婷婷av| 婷婷九月激情网| 激情五月亚洲| 五月婷婷日| AA丁香综合激情| 五月天激情综合网| 大香蕉在九| 丁香青青五月天| 亚洲视频国产一区| 丁香五月1页| 亚洲天堂AAA| 五月丁香亚洲婷婷| 操日视频| 天天干天天爽| 丁香五月天AV在线 | 婷婷亚洲天堂| 色婷婷亚洲婷婷| 999热这里只有美国精品| 久久久精品99| 99,色| 久久人妻情侣| www.五月天| 五月婷婷色五月| 人人人操 超碰| 色涩影院六月丁香| 天天日天天做天天舔| 五月的婷婷六月丁香| 深爱激清网| 久久综合爱| 五月天色色无码| 久久久久婷| 色综合久久五月| 99热在线精品观看| 九九99在线免费在线观看视频| 亚洲经典三级| 97欧美在线| 夜夜天天久久婷婷| 日日干日日| 天天摸天天日天天舔| 大香蕉婷婷丁香天堂AV| 欧美性猛交AAAA片黑人 | 9久热在线精品| 天天综合久久| 五月婷婷深深爱| 八戒青柠影视剧在线观看| 色五月自偷自拍婷婷婷婷| 五月天激情综合网站| 五月丁香六月婷婷亚洲综合| 99操| 一区二区三区四区牛| 天天天操天天天爰| 成人视频在线免费播放| 一二线视频 另类| 五月天成人综合| 26uuu亚洲精品国产| 天天干天天干天天干天天干天天干| 一本婷婷丁香久久| 天天肏屄夜夜爽| 综合XX网| 伊人狼人干| 国产xxxxx在线观看| 婷婷五月天视频免费在线观看| 被强行糟蹋的女人A片| 玖玖爱资源站| 99久久6| 综合aV在线| 成人色五月天婷婷| 熟女网站久久| 免费操超碰| 开心五月婷| 九九热精品| 九九人人操| 日本99在线| 第1影院之五月婷婷| 99热精品一区| 综合激情五月丁香| 丁香六月婷婷久久综合| 久久婷婷综合国产| 久久九九经典| 国产精品A片| 国产精品久久久久久喷浆| WWW,色五月| 色综合久久久久| 日本人人干| 色综合99| 99精品丰满| 99色爱| 天天干人人奸97| 婷婷久久六月天| 五月综合视频| 五月婷婷激情四季| 超碰99热| 亚州激情网| 伊人婷婷五月天| 狠狠舔| 99色精品| 7月婷婷六月丁香| 亚洲另类在线观看| 丁香五月性| 97人人超| 丁香色五月直播| 成人在线99| 五月色婷婷亚洲 | 91精品综合久久久久久五月天| 丁香五月激情性色郤| 亚洲精品V天堂中文字幕| 狠狠另类视频| 中文字幕网伦射乱中文| 思思色综合网站| 青青久久五月| 新伍月婷婷| 色爱综合五月| 狠狠爱五月婷婷| www.五月婷婷久久.com| 欧美久久婷婷| 色久播播| 亚洲欧洲中文日韩久久AV乱码| 狠狠色狠狠鲁| 久久婷婷青青| 99爱视频在线观看| 九九这里是免费的视频5| 日本啪啪网| 大香蕉久久伊人婷婷五月丁香| 日本狠狠干| 婷婷五月天六月综合| 69热91天堂| 五月婷在线观看| 香蕉狠狠爱视频| 五月天久久婷婷| http://www.lingjunshare.com/ | 五月 激情视频| 婷婷五月激情五月激情| 欧美日韓成人亚洲精品另类| 影音先锋91在线资源站| 五月丁香啪啪伦理电影| 精品久久婷婷| 亚洲综合五月天婷婷丁香| 激情五月六月婷婷综合啪啪| 99欧美精品99日本精品| 99久久网站| 国产 码在线成人网站| 国产精品久久久久久久久久免费| 99色 色| 密乳Va| 成人片在线播放| 996日日爱| 91热99| 色综啪啪网| 97色永久免费视频| 开心婷婷五月天电影院| 大香人妻| 99综合视频| 色女伊人| 国产亚洲99| 丁香花五月天婷婷成人社区| 五月丁香色婷婷久久| 99热国内| 激情久久丁香| 国产又黄又爽又色的免费| 色情五月婷婷| 亚洲成人色五月婷婷综合| 久热爱大香蕉在线蜜臀悦色| 色色亚洲五月天| 天天插天天操| 婷婷丁香社区网| 五月色情婷婷| 亚洲天堂热| 丁香五月婷婷日本| 多精窝99在线视频| 国产精品丝| 天堂伊人干| 日韩成人综合网| 99色免费观看全部| 五月天三级| 婷婷在线综合| 日本nghangse中文字幕| 久9视频| 九月综合| 激情色视频| 亚洲久久视频| 97碰久久| 91精品视频男人的天堂| 国产在线aaa片一区二区99| 免费黄色AV| 九九免费精品| 五月天影院婷婷在线观看| www.99久久久| 婷婷伊人綜合| www.色欲丁香婷婷| 蜜桃人妻无码AV天堂三区| 色情五月婷| 五月丁香六月婷婷国产视频| xx综合网| 天天爽成人综合网站| 99精品一二三四视频| 九九久久色| 国产成人精品一区二三区熟女在线| 自拍偷窥99热| 天天操夜夜操| 欧美丁香婷婷五月| 亚洲色婷婷视频| 婷婷五月天视频在线观看| 婷婷五月亚洲激情| 99热99干| 婷婷射综合| 99精品97| 成人一区在线观看| 五月丁香狠狠爱婷婷综合| 热思思九九| 中文字幕乱码亚洲精品一区| 97综合在线| 日韩AAAAA| 欧美日韩成人在线| 99热老司机| 色婷婷伊人| 色玖玖综合| 97干综合网| 久久色9| 九九大香视频| 97人人搞| 丁香婷婷网| 9999久久久久| 久9热在线视频| 99久久网站| 五月婷婷啪啪| 五月亭亭直播| 99激情视频| 亚洲免费看片| 成人国产欧美大片一区| 曰韩少妇内射免费播放| 大地9中文在线观看免费高清| 第九色区av天堂| 99免费超碰在线| 久久久91精品| 五月婷久久综合| 亚洲有码在线视频| 五月婷婷激情久久| 欧美日韩91| 狠狠看狠狠| 色五月视频无码播放| 五月婷六月丁| 久机视频这只有精品| 人人草人人舔| 日韩成人电影AV| 婷婷五月天色色| 国产精品美女久久久久AV超清 | 婷婷激情五月吧| 狠狠干在线视频| 婷婷情色激情| 26uuu欧美| 婷婷综合激情| 精品成人无码A片观看香草视频| 亚洲宗合激情| 色久99| 亚洲精品影视| 狠狠色性| 思思热精品在线视频| 丁香九月综合| 这里只有精品视频| 五月丁香久久综合91| 亚洲激情五月| 五月婷在线| 色五月激情基地| 99热色精品| www.色婷婷| 操操操AV| 激情综合网五月丁香| 永久精品| 99九九这里有免费视频| 国产午夜精品一区二区| 色丁香五月天射婷婷爱婷婷| 丁香五月宝贝激情网| 思思热精品在线视频| 中文字幕成人| 色和综合网| 91人操| 六月婷婷无码观看| 五月丁香六月色| 狠狠爱综合| 九九热99久久99| 国产色色在线| 九九精品网| 天天做天天爱| 大香蕉太香蕉视频97| 一区二区成人电影| 五月色俺婷婷| 色色色色五月| 97碰 在线视频观看| 日本色道视频网站| www,婷婷| 99久久综合网| 久久亚洲天堂| 99热这里只有精品96| 日本三级中文字幕| 97色 五月天丁香| 五月丁香| 激情噜噜噜| 久久精品国产AV一区二区三区 | 婷婷五月天在线看| 人妻内射视频| 成人做爰A片免费看视频| 五月色亚洲| 三十路磁力链接| 任你草| 九月丁香八月婷婷久久综合久97| 国产婷婷五月中文字幕高清| 日亚二欧美| 热久久999| 五月激情五月丁香| 九九热大香蕉| 99热97美女| 青青草蜜臀| 五月天亭亭俺也| 天天搞天天色综合| 99精色| 欧美精品在线观看| 婷五月丁香俺| 日韩综合天堂| 新激情综合| 99国产小视频| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 超碰在线国产| 婷婷五月激情五月丁香五月| 丁香婷婷六月天| 日韩AAAAA| 婷婷五月丁香久久| 婷婷五月天国产在线播放| 欧美A级成人婬片免费看理论| 日韩色色色色色| 久婷婷婷| 超碰无码318604| 激情综合五月婷婷六月丁香| 色五月综合激情网| 婷婷丁香成人在线视频| www婷婷| 色噜噜狠狠色综合无码久久欧美| 97干欧美| 久久伦乱| 14色综合婷婷| 91九色视频在线观看| 五月天成人网在线观看| 91日婷婷在线| 99热这里只有精品最新网址| αv中文字幕在线观| 天天爽,天天操。| 成人做爰A片免费看网站找不到了| 五月婷婷激情刺激| 五月丁香偷拍| 婷婷丁香77777| 玖玖色综合| 草美女在线观看视频在线播放| 狠狠爱综合| 亚洲激情99| 久久久国产精品黄毛片| 丁香五月六月婷婷自拍| 久久久99精品免费观看| 五月激情偷拍婷婷| 婷婷大香焦| 夜夜操天天干|