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
返回資訊列表
婷婷五月天成人动漫 | 九九热内射| 五月天色婷伊人| 国产精品久久久久久白浆色欲| 天天日天天添| 拍色综合| 91色涩| 另类小说色婷婷| 伊人九九热| 9久热在线视频精品| 99狠狠色| 国产亚洲AV人片在线| 日韩AAAAA| 国产熟女大叫受不了| 五月丁香激情四射| 开心五月深爱婷婷| 99色色爰| 色婷婷影| 国产成人网址| 婷婷六月丁香激情| 成人丁香五月婷| 香蕉狠狠爱视频| 99热20| 五月丁香亚州综合网| 99热免| av色婷婷| 色欧美日| 日本三级日本黄色| 性做爰A片免费视频A片直播| 91碰碰碰| 99男人的天堂| 国产午夜一区二区三区| www天天干| 激情久久综合网| 思思热在线精品视频| 天天色天天噜| 色五月欧美| 五月丁香久久激情网| 九九精彩久久| 成人一区在线观看| 沈娜娜av| 五月丁香婷婷欧美色图视频五月丁香777电影| 丁香五月伊人| 亚洲a色| 99这里有精品免费| 激情小说五月天社区丁香| 五月天婷婷综合色| 国产成人AV| 99riAv1国产在线观看| 亚洲日韩人妻操逼| 激情综合4月| 日韩精品无码AV| 天天天天干| 思思热精品在线视频| 色婷婷五月天天天天天| 大香蕉手机视频| 六月丁香AV| 99精品在线| 五月婷婷亚洲天堂97色婷婷| 色伦专区97中文字幕| 九月婷婷久久| 五月亭亭六月天| 思思久久精品| 99久视频| 婷婷六月天天| AV在线中文| 久久婷婷成人综合色怡春院| 丁香五月天社区婷婷| 丁香五月婷婷影院| 久久久天堂国产精品女人| 91婷婷色五月| 久久曰曰| 一级操逼大片| 碰超亚洲| 五月婷婷色啪| 五月停视频天堂| 亚洲无AV在线中文字幕| 伊人婷婷99热精品| www.日本91| 大香蕉太香蕉视频97| 99在线精品免费视频| 久久这里有精品| 99久视频| 国产成人精品一区二三区熟女在线| 色色性爱视频| 色啦啦视频| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 五婷婷综合网| 色天使色婷婷| 激情婷婷五月女| 日日干综合| 婷婷激情视频| 成人婷婷五月天| 操笔无码| 超碰免费大香蕉| 五月天丁香| 五月天色五月| 色在线视频网2025| 日韩无码专区| 亚洲乱码日产精品BD| 丁香花社区av| 亚洲AV网站| 五月丁香日本在线视频观看| 丁香五月婷婷色偷偷| 99色色网| 欧美搡BBBBB摔BBBBB| 综合av在线| 国产AV网页| 国产精品汇聚精彩第二页 - 高清完整版在线 - 青蛙AV | 日夜夜久久| 久久婷婷五月综合色丁香| 26uuu在线观看| 婷婷伊人久久| 亚洲天堂制| 亚洲色色五月天| 婷婷在线精品| 国产在这里只有精品| 国产激情在线| 婷婷丁香激情五月天色色色| 热99国产精品| 久久久久丁香婷婷五月天| 人人舔人人色人人高潮| 丁香五月欧美色综合| 操骚货在线| 色伊人91在线视频| Av大香蕉| 婷婷在线激情| 色五月在线综合| 综合色影| 婷婷大美在线| 人人爱操| 欧美精品999| 五月综合亚洲| 丁香五月婷婷色| 97人人操com| 婷婷激情丁香五月天综合| 五月丁香好婷婷A片网| 九色PORNY自拍成人精彩视频| 久久激情五月婷婷| 特黄三级片| 天天 青草 丝袜制服 在线| 婷婷色色婷婷| 99久久97| 五月丁香婷中文| 精品久久久999| 久久精品国产精品| 日本久久天堂| 91九色在线| 色婷婷丁香AV综合| 亚洲视色| 99热精品网| 色色色色色级无码| 婷婷视频网| 婷婷丁香成人五月天| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 日韩人妻在线观看| 1级欧美日韩| 五月婷婷丁香深深爱| 丁香五月综合| 激情五月天的婷婷| 色五月综合激情| 9热久久| 五月天婷婷久久综合| 婷婷丁香六月| 五月天激情站| 日韩中文字幕| 九九热精品6| 97色婷婷| 色婷婷综合视频| 玖玖99免费视频| www.亭亭五月天| 国产激情综合五月久久| 婷婷五月天少妇| 成人精品在线| 成人羞羞啪啪 全 视频| 99国产精品久久久久久久久久久| 日本天天综合| 五月婷婷六月激情| 日本va欧美va欧美va| 青青草国产亚洲精品久久| 五月婷婷久久开心网| 另类专区在线观看| 老司机午夜福利视频金瓶梅| 精品国产乱码久久久久夜深人妻| www,五月丁,com| www.久久99| 丁香香五月激情免费视频| 色五月天在线观看| yazhouzonghesese| 婷婷伊人综合| 2020日日干| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 婷婷五月天AV在线| 色色婷婷丁香| 青青草国产亚洲精品久久| 婷婷色香六月综合激情| 影音先锋AV资源男人站| 色婷婷激情| 亚洲精品视频电影| 成人五月天丁香婷| 色色色99| 婷婷精品综合| 色婷婷丁香| 九九热最新视频| aaaaaa片| 久久婷婷六月综合综合| 伊人五月天在线| 26uuu国产色| 夜精品无码A片一区二区蜜桃| 五月丁香激情综合欧美| 亚欧州精品视频| 中文字幕成人| 婷婷五月天黄色小说| 丁香五月天婷婷91| 开心五月天激情网| 开心五月天激情网| 亚洲婷婷丁香五月视频| 色色九九五月天 | 五月丁香婷婷六月天| 精品热九九| 婷婷网五月天| 激情五月天无码| 天天色五月婷婷91久久久久久久| 操一操干一干| 色日本五月天| 伍月激情天| 综合网网欲色| 欧美私人家庭影院| 日本超碰在线| 五月天狠狠| se婷97| 天堂中文国产| 丁香婷婷基地| 在线观看玖玖资源免费观看| 热99这里只是精品| 五月天婷婷AV| 丁香五月综合狠狠| 九九伊人网| 91成人性爱视频| 操婷婷基地| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 任你爽在线视频| 色婷操逼| 狠狠狠狠狠| 爱的综合网| 激情婷婷在线中文字幕| 五月婷婷国产| 大香蕉久久视频久久视频| 97资源碰碰| 色婷婷六月天在线| 日本无va视频| 激情小说五月丁香在线视频观看视频| 91精品91久久久中77777久久玖玖九九 | 丁香五月婷婷天激情| 99日在线视频| 久热69| 中文字幕久久一区二区三区| 色停停香蕉视频| 天天操夜夜爽天天操| 丁香五月www| 亚洲综合网 665566| 五月婷婷六月丁香在线视频| 久久色这里只有精品| 五月综合激情久久| 九九热在线观看6| 河北真实伦对白精彩脏话| 激情综合色| 色五月涩涩婷婷| AV九九| 激情啪啪五月天| 91se视频| 日笨久久网| 久久综合九色综合97婷婷| 狠狠色综合精品视频在线| 日日操日日干| 国产精品A片| 人人人操| 在线另类| 狠狠88综合久久久久噜噜噜| 丁香婷五月| 五月香蕉综合| 91seav| www.无码com| 婷婷六月丁综合| 伊人五月婷| 婷婷D区| 三级片AAA久久久AAA久久久AAA | 丁香,开心成人,久久| 免费AV在线| 思思热视频| 天天爽夜夜爽天天爽夜夜爽| 五月婷丁香| 激情五月婷婷六月丁香| 久久五月激情| 色综合另类| 激情五月婷婷综合| 五月丁香啪啪啪| 九九色精品| 激情婷婷五月天伊人在线观看| 伊人喵咪a V| 大香蕉视频99| 日本不卡中文字幕| 五月丁香六月婷婷中文版| 久久66er久久| 丁香五月日啪| 婷婷色五月色| 9色视频在线| 色综合色色| 思思热在线| 影音先锋自拍网| 国产色色色色色| 99在线视频免费| 五月婷婷六月天| 性色欲情 网站| 色色色色热热| 26uuu视频欧美| 很很操很很操| 日亚二欧美| 东京热伊人| 婷婷五月天激情网| 丁香婷婷AV| 五月丁香婷婷婷激情爱爱| 91色涩| 婷婷九月色| 亚洲欧洲色色| 婷婷五月天AV| 色婷婷免费观看| 天天操综合网| www.91在线观看| 天天色综合天天| 99热超碰| 色玖玖玖| 五月婷婷之激情五月| 在线观看亚洲AV| 丁香五月婷婷AV| 亚洲成人网站在线观看| 色综合久网| 99热这里有精品6| 99色网站| 4399无码视频| 天天插天天狠| 2017狠狠干| 少妇水多A片太爽了| 色欲久久久久久综合网综合网| 亚洲五月婷婷在线| 久久狠狠干| 九九色天堂| 婷婷色基地在线看| 综合综合网| 亚洲激情综合| 五月丁香无码| 色五月成人| 小香蕉av| 77799热| 久久精品9| 天天视频精品9| 任你日热视频| 五月丁花六月丁香综合| 黄色片avv| 夜夜操夜夜爽| 亚洲色综合| 日本强伦片中文字幕免费看| 再次出发二| 久99久在线| 97色色在线视频| 国产69精品久久久久999小说| 99久久久久久| 91视频精品99| 色玖玖综合网| www.久久久久| 久色姿源| 人妻丰满精品一区二区A片| 激情综合五月丁香| 亚洲精品午夜国产va久久成人| 成人日韩欧美| 久久婷婷六月综合综合| 欧美A级成人婬片免费看理论| 吊色AV男人的天堂| 色五月色综合| 777精品久无码人妻蜜桃| 九九视屏| 91美女被操| 99精品人人| 无码人妻电影| 五月激情丁香久久综合网| 五月天综合在线| 另类色视频| 在线18av | 开心日韩丁香婷婷五月| 婷婷香蕉视频| 99日韩| www.婷婷六月天| 99A级片| 色五月大香蕉| 丁香五月五月婷婷欧美大香蕉| 婷婷五月丁香六月天亚洲综合| 色婷婷亚洲综合网站| 99视频只有这里精品| 大鸡巴伊人网| 亚洲精品午夜国产va久久成人| 182TV大香蕉| 婷婷五月天久久| 丁香六月婷婷综合激情欧美| 五月婷婷影视| 成人丁香五月| 亚洲六月色| 97碰碰在线看视频免费| 婷婷丁香六月天| 日日艹思思热| 91人妻色色网| 偷拍99在线视频观看| 超碰色综合| 就爱操www com| 人妻在线网站| 公的粗大挺进了我的密道| 五月婷婷性| 99久久精品色老| 无码AV免费精品一区二区三区| 激情婷婷五月天日本系列| 97人操人免费视频| 中文字幕不卡网站| 亚洲色热| 五月天色综合| 色色色.COM| 狠狠色丁香久久久婷| 久久久aaa| 国产在线中文字幕| 激情第四色| 综合五月亭亭9| 五月天久久网站| 国产偷人爽久久久久久老妇APP | 婷婷五月天激情小说| 九九精品视频在线6| 91啪啪视频| 又大又粗九一在线| 99激情| 久久久噜噜噜久久人妻| 丁香五月天BBw| 色六月丁香婷婷啪啪啪| 国产精品色婷婷99久久精品| 碰碰碰碰碰99| av网站免费在线| 色噜噜婷婷| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 天天干,天天操,天天射| 狠狠久久婷五月综合色| 黄色片久久| 日韩黄黄| 色丁香婷婷| 五月六月丁香激情| 色色色色色爱| 天天成人综合视频| 很操日本7| 超碰99热| 五月丁香六月婷婷亚洲天堂网站| 91人妻人人操人人爽| 婷婷五月激情综合网| 婷婷丁香五月综合| 国产伦亲子伦亲子视频观看| 九久9精品| 婷婷久久五月天| 婷婷五月天激情五月天深爱五月天| 五月丁香激情综合六月涩涩爱| 成人AV在线电影| 香蕉伊人综合| 婷婷色网站| 久99热在线观看| 久久久五月天网站| 亚洲人妻电影| www久久久久久久97| 色婷婷啪啪| 婷婷五月开心六月AV| 色五天综合| 骚逼视频一区2区| 色色五月婷婷网| 嫩草AV久久伊人妇女超级A| 最新久久网址| 日日噜噜夜夜狠狠久久丁香六月| 五月天六月色| 丁香五月欧美婷婷综合| 东北熟女视频99| 99热在线播放精品| 久久99免费视频网站| 天堂网亚洲色图| 嫩草视频。| 综合激情四射一theav| 9久久久| 97色在线观看视频| 欧美婷婷六月丁香综合色| 天天插天天玩天天干| 一本久久亚洲五月婷婷| 五月天婷婷深深爱| 国产精品爽爽久久久久久| 97av在线视频| 国产精品日本一区二区在线播放| 欧美十二区| 五月天久久激情| 永久无码色| 五月激激网w'w'w| 九九综合久久| 97自拍视频在线| 五月天激情视频| 丁香六月婷婷缴情欧美| 婷婷欧美激情| 国产成人AV人人爽人人澡Va| 色五狠狠| 丁香六月婷婷久久综合| yw.av| 9l视频自拍9l九色9l成人| 欧美精品999| 激情网第四色| 婷婷中文在线| 99爱在线| 天天插天天狠| 天天日天天干天天爽| 日本啪啪网| 乱岳熟女50岁| 97人人操| 噜噜色com| 91久热| AV在线不卡播放| 91人人操人人看| 狠狠色婷婷7| 激情人妻蜜夜系列区| 丁香五月天狠狠操| 日本激情五月| 91一起操| 久婷婷久草| 久久亚洲精品成人无码网站导航| 伊人玖玖网| 亚洲精品无码一区二区| 天天射综合网站| 日本欧美国产| 一本色道久久综合狠狠躁小说| 色婷婷激情| 伊人五月天97| 六月婷婷影院| 五月丁香综合激情| 色婷丁香| 天天操人人干| 九九九九无码| 色婷婷五月天小说网| 97色碰| 色综合久久88色综合天天| 五月天天丁香婷婷在线中| 免费不卡狠操美女视频网 | 影音先锋一区| 色五月婷婷激情基地| 天天在线久久综合 | 66色在线日韩| 色婷婷综合电影| 99精品视频在线| 五月丁香婷婷成人网| 超碰国产AV| 色五月婷激情| 91se精品国产| 天天舔天天摸天天透| 99热综合| 蜜臀A∨在线水帘洞| 少妇人妻人伦A片| www久久久久久久| 九九免费在线视频| 99ER热精品视频| 凹凸探花电影| 免费精品99| 亚洲av成人在线| 色综合久网| 五月天激情.com| 亚洲人妻av伦理| 天天免费成年人视频| 天天干天天干天天干天天干天| 九九综舍久久| 青青草轻轻操| 色婷视频| 婷婷五月色惰| 丁香六月啪啪啪| 日韩av在线免费观看| 日韩欧美老妇性视频91久久久| 亚洲欧美999| 丁香八月综合激情| 婷婷五月激情的图片| 亚洲精品网址| 狠狠干狠狠色| 五月丁香综合激情在线观看| 天天干天天做| 婷婷五月天BBw| 久草视频大香蕉99| 久久丁香五月| 日本久久精品| 嫩草AV久久伊人妇女超级A| 777.色色| 五月丁香日逼| √天堂资源在线人妻熟女| AV操逼网| 操久久网| 色五月五月天| 色久99| 97婷婷丁香| 亚洲小视频免费观看| 色婷婷电影| 欧美成人网婷婷综合在线| 日本97在线观看| 五月婷婷亚洲| 精品婷婷五| 色婷婷8| 婷婷五月天色| 久久婷婷五月综合97色一本| 日韩成人精品中文字幕电影| 久久这里只有精品8| 色婷婷狠狠| 国产精产国品一二三在观看| 人人干av| 色狠狠伊人久久五月丁香| 蒲京久久无码视频| 女同激情久久av久久| 婷婷久久久| 综合五月天婷婷色| 婷婷综合97| 久久精品99国产精品日本| 日本va欧美va欧美va| 日韩在线视频网站| 婷婷成人视频| 99久在线精品99re5热视频| www.99视频| 日韩AV无码影片| 日韩操人| 丁香五月六月婷婷殴美综合| 丁香五月色情| www.久久久久久| 亚洲激情网| 久久精热| 五月天婷婷导航| AV成人在线播放| 亚洲激情av| 色婷婷成人| 天天 青草 制服丝袜 在线| 韩国真做片在线观看| 99色在线视频| 婷婷综合网伊人| 成人五月天丁香| 97碰碰人人视频| 俺去也婷婷| 99精在线| 成人网丁香五月| 大香蕉伊人久久| 日韩av网站在线观看| 中文字幕日产A片在线看| 丁香蜜臀黄色婷婷五月天| 久久免费婷婷视频| 99热精这里只有精品| 五月丁香婷婷色色| 超碰人人射| 玖色色综合| 国产视频色色色色色色色| 五月激情婷婷丁香| 九九热大香蕉| 婷婷色导航| 色婷婷社区| 五月色丁香婷婷中文字幕| 久久精品99久久久久久久久| 丁香五月婷婷香| 香蕉人妻AV久久久久天天| 99精品免费视频| 婷久久| 丁香婷五月天开心六月| 色五月婷婷色五月| 天天插综合| 婷婷深爱网| 五月天性色| 色婷婷六月激情| 日韩欧美五月丁综合| 91精品婷婷国产综合 | 桃色激情婷婷伊人网| 99亚洲综合| 日本综合久久| 久久艹99| 五月婷婷av| 色色网站| 91中文在线| 日韩丰满少妇无码内射| 九九99九九精品免费| 亚洲亚洲人成综合网络| 99色嘟嘟精品网站| 亲子乱AV-区二区三区| 久久婷婷青青| 五月丁香毛片| 99在线视频资源| 色欲久久久久久综合网综合网| 色婷婷影音| www.com任你艹| 婷婷激情人妻| 国产精品大香蕉| 久久机热这里只有精品免费视频| 五月婷婷色综图片| 亚州精品久久久久AV无码| 丁香五月五婷| 久热黄色| 精品色色| 大香蕉综合视频在线| 激情五月九九九| 色色色区| 国产视频久色| 人人爽欧美婷婷久久久五月丁香| 九九成人视频| 婷婷色色网| 九九成人电影婷婷| 婷五月天六| 久热伊人| 五月婷婷插一插| 99热在这里只有精品| 99热99色| 天天日中文| 91制片厂久久久国产电影| 停停五月色宗合| 五月天色婷伊人| 五月花亭亭| 五月婷激情影院| 高清一区二区三区日本久| 婷婷五月丁香99| AAA久久| 男人综合网| 无人精品在线视频| 欧美三级A做爰在线观看| 色五月综合激情网| 超碰色色综合| 天堂草在线观| 色综合激情| 婷婷五月丁香成人网| 99色热视频| 婷婷丁香人妻| 91狠狠色| 五月丁香六月停停停| 男人的天堂五月丁香| 激情五月综合ì香亚洲| 天天搞天天色综合| 西西4r午夜剧场| 五月激情综合网| 天天爽天天爽夜夜爽| 99 re视频一区| 26uuu激情五月天| 九艹在线| 五六月婷婷久久| 91碰碰碰| 2020日日干| 精品久久久中文字幕大豆网推荐理由| 国产精品人妻在线网址| 久久66精品| 99久热| 9999热免费视频视频| 丁香六月狠狠| 中文字幕视频在线播放| 99热99| www好屌操| 婷婷综合色色| 久久久久久97| 五月亭亭六月天| 香蕉久操| 六月丁香射婷婷欧美色图片| 美女精品一级不卡视频| 黄色毛片精品| 爱婷婷五月| 婷婷的99视频网站| 日本 色综合| 五月伊人视频在线看| 天天天天操| 欧美综合123区| 天天舔天天插天天干| 女人高潮内射99精品| -91九色大屁股| 天天操天天插| 99热一本久道| 九九这里都是精品| 人操人| 日日爽天天| 日韩欧美成人一区二区三区| 五月激情综合五月| 日本久久婷| 五月天丁香网站| 欧美超级视频97| 一区二区乱码视频| 色99色| 在线成人网址| 99热都是精品| 99操中文视频| 国产日比| www.婷婷网| 五月天激情综合网| 人妻系列久久久久久久久久久 | 91中文狠狠综合| 五月婷婷婷自由综合| 亚洲精品又粗又大又爽A片| 日韩一区二区在线播放| 丰满老熟妇BBBBB搡BBB| 婷婷久久国产视频| 真实的国产乱XXXX在线91| 激情五月天婷婷视频| 丁香婷婷狠狠97| 97丁香五月| 婷婷婷五月香蕉| 婷婷五月天小说网| 丁香五月婷婷欧美激情-中文天堂最新版在线观看| 色99热| 色五月婷婷激情基地| 丁香 久久| 91久久久久久久| 色婷婷香蕉| 色很很96| 免费在线观看AV网站| 五月丁香六月婷婷欧美综合| 91综合在线视频| 人妻久久久| 午夜性爱影视一区77| 操碰91| 精品无码99| 五月丁香色婷基地综合久久| 桃色五月天| 五月丁综合在线观看| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 国产肥白大熟妇BBBB视频| 丁香婷婷色五月天| 亚洲成人av在线播放| 天天爽夜爽| 韩日在线熟女| 久久九网| 99精品久久| 五月四色色| 激情啪啪五月| 国产精品VIDEOSSEX久久发布| 狠狠色 综合色区| 婷婷爱爱蜜臀天天操| 99热99在线| 思思热视频在线观看| AV九九| 五月天成人综合| www.色五月.com| 九九九热精品| 九九色情网五月天| 激情五月天视频| 欧美婷婷成人| 色色影院aaaav| 三级毛片7979| 亚洲精品国产熟女久久久| 五月天狠狠网| 爱草视频在线| 97干在线观看视频| 色五月激情图片| 可以直接看的AV| 婷婷五月天天天| 亚洲 精品 综合 精品| 久久免费试看120秒| 国产乱人偷精品人妻A片| 婷婷内射视频在线| 99综合一区| 丁香五月色色色色| 日本在线视频播放91| 婷婷影院A成人| 91精品综合久久久久久五月丁香| 色香欲综合| 91dy.av| 五月丁香六月婷婷综合在线| 久久精品五月| 九九综合网| 思思热在线| 色欲午夜无码久久久久久张津瑜| 人人射av| 婷婷丁香五月av| 亚洲色夜| 天天日日爽| 天天婷婷操| 婷婷五月播| 人妻综合网| 亚洲AV另类| 97sese婷婷| 国产成人AV| 激情丁香五月婷婷| 色激情五月| 日本久久性| 色五月婷婷大香蕉| 色婷婷五月视频| 可以免费看的av网站| 亚洲综合激| 色婷婷成人丁香| 97碰碰视频在线观看| 国产色色小草视频| 色九九综合色| 俺也去五月婷婷丁| 久久国产一区二区三区| 亚洲AV成人在线| 六月激情网| 91精品综合久久久久久五月丁香| 国产成人av在线| 97性视频| 丁香六月综合激情| 色婷婷基地| www.婷婷五月| 欧美成人A片AAA片在线播放| 91性高潮久久久久久久久| 五月丁香婷婷色色| 国产激情AV| 五月婷婷综合网| 婷婷丁香在线| 五月丁香网站| 成人综合网站| 婷婷中文字幕欧美| 久久婷婷原创视频| 婷婷丁香综合色AV| 91人碰| 婷综合| 五月天婷婷色在线视频免费观看| 色999亚洲人成色| 99热日韩这里只有精品| 成人欧美一区二区三区在线观看| 欧美色小说婷婷| 激情色视频| 五月天婷婷丁香导航| 婷婷五月综合网| 六月丁香啪啪啪| 99热| 丁J香六月首页| 久久日九九| 在线看片av| 五月丁香久人妻中文| 国产精品色色色色| 99在热线免费视频| wwwxxx五月婷婷小说| 色五月丁香婷婷在线观看| 九九性爱网| 99ri精品| 九九精品9| 97在线刺激| 五月丁香在线视频观看| 欧美婷婷五月| 久久色五月天| 婷婷丁香午夜综合影视| 天天色天天干天天插| 啪啪小说五月天| 大香蕉五月丁香| 办公室少妇激情呻吟A片在线观看| 91狠狠色丁香婷婷综合久久狠丁香综合久久精品 | 久久多色| 26UUU在线观看| 人人草人| 婷婷久久综合久| 九九精品丁香花| 色色五月丁香| 婷婷成人综合五月| 婷婷无码视频| 国产成人AV| 久久精品五月天| 深爱激情AV| 色婷婷888| 欧美性生交A片免费看| 久婷久婷| 天天艹天天色| 337p大胆噜噜噜噜噜91Av| 无码少妇高潮喷水A片免费| 色婷婷啪啪啪啪啪啪| 婷婷成人在线| 日本熟女一区二区| 99视频精品在线| 国产成人精品一区二三区熟女在线| 中文久久婷婷| 色丁香在线视频| 色综合婷婷| 久月久在线视频| 538午夜激情| 狠狠做深爱婷婷久久综合一区| 五月天婷婷基地| 国产亚洲99久久| 思思热久久婷婷五月天| 色综合九九| 欧美婷婷综合网| 丁香五月亭亭六月综合激情网| 91精品综合久久婷婷九色| 欧美成人猛片AAAAAAA| 丁香综合婷婷开心激情网| 中文乱子伦视频| 色色色色色色色色色影院| 超碰人妻在线| 99热天堂| 嫩草视频| 色情五月天婷婷| 亚洲欧美婷婷五月色综合| 超碰93在线观看| 婷婷五月伦理| 丁香香蕉射射射| 激情五月天色| 9久久精品| 婷婷五月天成人视频| 久久 这里只有精品1| 久9热在线视频| 92久操视频| 九九热精品6| AA片在线观看视频在线播放| 欧美五月丁香在线| 激情床戏| 久久婷婷91| 五月丁香成人视频| 欧美碰碰碰| 丁香五月av在线| 日本一級黃色一級片| 激情综合5月| 播播网色播播| 操碰91| 丝袜人妻| 色域五月婷婷丁香| 丁香五月激情啪| 亚洲丁香婷婷丁香五月天激情| 激情综合丁香| 操你av| 微拍92| 婷婷色av| 丁香九月激情久久| 婷婷五月天激情网站| 五月色激情综合网| 综合网激情五月天| 欧美五月停| 婷婷综合激情五月中文字幕| 能看的AV| 婷婷在线操| 亚洲精品字幕| 久久aaaa片一区二区| 99欧美精品99日本精品| 激情伊人五月天| 五月天大香蕉AV| 熟女网站久久| 五月色网| 日本猛少妇色XXXXX猛叫| www.精品99| 天天射天天操天天干| 色色cOm| 五月婷婷导航| 亚州色色色| 六月婷婷狠狠| 五月丁香激情综合网官网| 天天做天天摸| 伊人色综合影院视频| 久久久五月天| 亚洲激情视频网| 懂色av粉嫩AV蜜臀AV| 亚洲人人操| 97久久人人操| 免费无码毛片一区二区A片| 激情五月婷婷网在线观看| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 99超级碰免费视频| 亚洲色欲欧美一区二区三区| 中日韩美欧成人一区二区精品在线| 五月婷婷啪啪啪啪| 亚洲午夜一区二区| 色色色热| 丁香六月天婷婷开心综合| 婷婷五月天午夜激情影院| 色婷丁香| 思思99热这里只有精品6| 九九久久玖玖爱| 五月香婷婷| 色婷五月丁香久亚洲| 欧美婷婷丁香五月| 综合视频久久| 亚洲激情五月婷婷日日| 婷婷五月丁香综合桃花色网| 97精品综合久久| 影音先锋 婷婷| 成人网站av免费网站推荐| 97色婷| 婷婷五月天激情免费在线观看| 大香蕉520| 丁香五月激情图片婷婷| 亚洲AV网站| 免费无码毛片一区二区A片| 熟女激情五月天 | 国产av第一专区| 99热手机在线精品| 五月丁香六月婷婷婷婷| 大香蕉人妻| 少妇性按摩无码中文A片 | 日本网站久久| 开心五月激情网| 丁香五月播播| 亚洲日本激情| 亚洲成人无码网站| 青青久在线视频免费观看| 97久久久久| 天堂AV在线看| 婷婷丁香五| 五月激情综合网| 婷婷丁香精品视频在线观看| 婷婷五月成人| 99热这里有精品| 亚洲婷婷激情888精品久| 婷婷六月激情| 五月丁香视频色色| 五月天婷婷小说| 亚洲精品永久久久久久| www.五月婷婷久久.com| 啊V视频在线观看| 超级碰碰视频无码| 怡红院AV亚洲一区二区三区H| 婷婷香蕉| 97干在线播放| 日日插日日干| 六月丁香婷婷色69| 丁香五月亚洲激情婷婷射| 色蜜婷婷| 久久丁香网| 婷婷色五月91啪啪| 大地9中文在线观看免费高清| 日韩成人AV在线| 婷婷丁香六月天| 99久久免费精品| 亚洲色欲AAAAAA| 丁香六月婷婷久久高清| 美女伊人久久| 久久婷婷五| 婷婷丁香五月综合网| 欧美性生交XXXXX无码小说| 成人看片网站| 亚洲丁香花色| 殴美激情综合网| 夜夜谢天天干| 成人va在线播放| 丁香五月区| 久久小片| 五月丁香六月婷综合成人综合| 热99精品视频观看| 亚州激情网站无码| 99国产er热视频| 五月婷婷伦理| 天天综合五月天| 久久精品夜色噜噜亚洲a∨| 日本3级片一区2区| 91re色综合视频| 99热思思在线观看| 九九黄色网| 色色五月丁香| 无码se| 五月色丁香| 久久婷婷综| 五月99久久| 97操操操| 99网| 婷婷色五月激情| 嫩BBB搡BBBB榛BBBB| 国产看真人毛片爱做A片| 婷婷色影音天| 韩国97天堂| 99资源在线| www.色综合.com| 丁香五月区| 六月丁香激情综合网| 五月综合婷婷开心网| 狠狠操天天操综合| www色五月天| 亚洲色色香蕉| 91丁香五月| 色情五月婷婷| 亚洲操操操| 国产在线网址1| 一二线视频 另类| bukadeavzaixian| 婷婷综合精品| 激情视频婷婷五月花| 人色五月天婷婷| 亚洲欧美999| 狠狠干综合网| www.婷婷六月天| 欧美三级巜人妻互换| 人人草碰| 色欲久久综合| 色天天综合色| 网站免费一站二站| 亚洲综合九九| 九久久婷婷| 色情五月天丁香社区| 99re熱| 日韩精品二三区| www狠狠| 无遮挡国产高潮视频免费观看| 婷婷激情综合色五月久久91| 久久新地址| 婷婷五月天影视网址| 色五月婷婷九月| 99热啪啪| 91九色PORNY肉丝在线| 婷婷五月丁香啪啪| 五月天婷婷在线啪啪视频| 久久久免费精彩视频| 五月婷色| 肏日网在线看| 激情综合亚洲| 欧美va在线| 久操婷婷| 激情五月九九九| 妻久久久久| 天堂色婷婷| 国产国产乱老熟女视频网站97| 九九综合网色全集 | 午夜]香婷婷深深爱| 亚洲AV综合网| 亭亭社区五月天| 五月丁香色婷婷色| 天天揷综合网| 婷婷激情四射| 夜夜操激情| 五月色综合| 性欧美日本| 五月婷色啪| 久99久视频| 久久久婷丁香五月天激情综合| 五月天第四色开心色播| 五月天社区婷婷丁香社区| 91妻人人爽人人看片| 97在线视频人妻九色| 久久丁香五月婷| 欧美成人一区二区三区在线视频| 99热在线资源| 九一99| 欧美色男人网站| www.久久爱| 九月综合| 怎么样可以看免费的一级av| 午夜成人AV在线| 人人播| 97碰碰久久| WwW天天干| 99热这里只有精| 九月婷婷色色| 婷婷五月天开心网| 色欲AVV| 美女五月激情| 亚洲九九夜夜| 97干网站| 五月婷激情| 五月天大香蕉视频| 99热99热| 河北真实伦对白精彩脏话| 六月激情久久婷婷| 午夜五月天| 青青草轻轻操| 97丁香五月| 91精品久久久久久久久 | 51XX午夜影福利| 做爰丰满少妇1313| 色久在| 国产激情久久久| 九月丁香| 色婷视频| 色婷婷视频| 日日操夜夜骑| 激情骚五月| 伊人五月综合网| 六月丁香激情| 丁香五月综合AV在线| 5Www色5夜| 色色网站在线| 色五月色五天色情网址| 丁香涩涩爱| 九九综合图片网| 色狠久| 色色色五月| 99久在线精品99re8热| 青青999| 日本色色视频| 男人視頻站| 99在线精品免费视频|