免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

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
返回資訊列表
真实的国产乱XXXX在线91| 91黄色五月天视频| 久久久这里有精品| 五月色婷婷在线观看| 8090在线影视少妇| 欧洲不卡视频| 可以看的av网站| 综合久久婷婷五月丁香| 超碰大香蕉网| 极品另类| 91色欲综合| 这里只有精品免费视频| 五月丁香久久| 中文AV网站| 六月色日韩| 99热高清在线| 色综合香蕉视频| 99热伊人| 五月丁香色婷婷| 色欲色香综合网| 琪琪秋霞| 国产在线6| 婷婷五月电影院| 五月婷六月综合在线观看| 久久丁香九| 老师的粉嫩小又紧水又多A片视频| 五月欧美丁香在线观看| 天天日,天天干,天天操| 丁香六月伊人| 欧美美美女性色视频| 激情99热| 五月天中文字幕在线婷婷| 婷婷综合在线| 色A网| 久久五月天色婷婷| 亚洲综合久| 我想看国产大学生口爆吞精的视频| 99精品热| ..真实国产乱子伦对白在线_欧 | 天天摸天天高潮天天爽| 色五月亚洲五月天| 欧美综合五月丁香六月婷| 久久五月丁香婷婷| 成人va在线观看视频| 亚洲AV中文在线| 日本123区日韩欧美不卡在线看| 免费无码毛片一区二区A片| 99欧美| 美国十月色婷婷在线观看| 99惹 精品在线| 久久伊人五月天| 久久狠狠干| 婷婷五月色天| 日韩成人中文| 色噜噜五月丁香婷婷| 伊人激情网| 99操网站| 色婷婷AAA| 26.uuu丁香五月婷婷| 9久久网| 干一干xxxx| 99少妇精品| 日本一区二区三区精品视频| 色v综合网| 九九色大香蕉| 丁香五月婷婷丫| av在线色五月丁香婷区久| 婷婷色五月色妇| 青青草原福利在线| 九九99久久| 99久视频| 97自拍视频网| 激情五月丁香五月| 99免费热视频| www.国产色| 中文字幕日产A片在线看| 亚洲A片成人无码久久精品青桔| 日韩无码专区| 婷婷内射视频在线| 26UUU在线观看| 情婷婷五月天| 26uuu日韩| 五月综合激情啪啪啪啪啪| 婷婷色综合中心站| aaaaaa片| 五月丁香六月色| 大香蕉精品视频| 色一情一乱一乱一区91Av| 五月婷婷六月少妇激情| 久热99| www.久久| 九九久久99| www.五月天性.com| 色香蕉影院| 噜噜噜狠狠色综合| 综合久久综合久久| 婷婷五月丁香综合激情| 午夜精品人妻无码一区二区三区| 中美日韩成人在线| 丁香五月天色婷婷| 色综合色香蕉网| 欧美网站视频4399| 丁香五月天天高清在线| 亚洲熟妇AV乱码在线观看| 吾爱AV导航| 天天做综合| 久草热在线视频| 狠狠综合网| 日韩精品99久久| 日本妈妈乱| 四月婷婷丁香| 99re欧美精品| 色五月激情五月丁香五月婷婷啪啪综合 | 人妻av在线| 色婷婷久久综合丁香五月| 日日夜夜天天| 丁香色影院| 天天摸天天舔天天爽| 五月婷婷六月丁香在线视频免费在线观看| 秋霞av吧| 69er小视频| WWW.婷婷| 五月天婷婷基地丁香| 丁香五月婷婷日本| 激情文学 综合 九月| 99热 在线观看| 五月婷婷在线观看黄| 亚洲欧洲另类图片| 五月丁香六月婷婷在线播放| 久久精品A片777777| 337p大胆噜噜噜噜噜91Av| 丁香五月亚洲天堂| 狠狠婷婷色综合| 婷婷五月激情综合| 五月婷婷激情久久| ay2区| 丁香五月人妻| 国产激情综合五月久久| 亚洲性天天| 六月婷婷激情图片| 26uuu视频欧美| 婷婷丁香色情| 久婷五月| 婷婷五月天福利| 九九综合九九| 五月婷婷在线视频| 色99视| 大香蕉婷婷| 色丁香婷婷| 99精品网| 午夜丁香婷婷| 国产成人精品亚洲线观看| 美女va| 五月婷婷六月丁香| 开心五月综合激情综合五月| www.色欲丁香婷婷| 色玖玖爱| 丁香五月亭亭六月综合激情网| 99热自拍| 激情婷婷色五月| 欧美性爱丁香五月| 五月综合色| 色婷婷综合电影| 色色a| 亚洲av午夜精品一区二区| 亚洲视频伍月婷婷| 久久久久久综合88| 全部老头和老太XXXXX| 开心丁五月| 丁香六月综合激情| 五月婷婷丁香网| 97婷婷狠狠久久综合9色| 婷婷性爱五月天| 五月丁香偷拍| 狠狠干综合| 五月婷婷婷婷婷婷艺术| 五月天另类图片区99| 婷婷五月色激情欧美激情| 日韩xx在线| 996er热| 120分钟婬片免费看| www.婷婷五月天| 天天舔天天摸天天射| 免费看欧美成人A片无码| 日日噜狠狠色综合久久| 人妻视频在线| 日本V在线观看不卡视频网站| 99久久99热这里只有精品| 婷婷五月综合社区在线| 亚洲色网络| 日本www五月婷婷| 久久玖玖99| 91凹凸在线| 婷婷97狠狠干| 97色操| 激情婷婷五月天| 99热只有这里才是精品| 丁香婷婷六月激情文学 | 99热欧| 三日本无码| 91婷婷色| 色五月第四色| 婷婷瑟五月天久久综合| 五月 成人 婷婷| JAPANRCEP老熟妇乱子伦视频| 六月丁香色婷婷| 日韩精品999| 青青草视频免费观看| 色婷五月天| 狠狠草婷婷| 色婷婷精品视频| 蜜桃五月天| 久久综合影院| 深情五月天| 五月丁香婷婷爱激情综合网| 欧美日韩成人免费在线| 99热全是精品| 99 福利 导航| 9 1大香蕉| 香蕉AV福利精品导航| www.夜夜操| 五月综合激情图片| 欧美色骚婷婷五月天| 欧洲S级在线观看| 婷婷五月在线影院| 蜜桃五月天| 97自拍视频在线| 婷婷射丁香| 情五月亚洲婷婷| 99热这里只有精品1025| 婷婷午夜综合| 操97免费超级视频| 人人看人人97| 九月色婷婷综合| 色婷婷性爱网| 超碰免费人人肏| 天天射影院| 91九色|疯狂|高潮|对白|| 久久99性爱| 五月丁香亚洲综合网| 欧美群妇大交乱婬网| 99ri在线播放| 99热这里都是精品| 思思热天天看| www.婷婷五月天,com| 五月婷婷综合影院| 久久久jd| 91九色国产| 丁香五月在线自慰| 久热精品视频在线观| 香蕉久久六月| 婷婷五月激情综合| 久久这里在精品视频| 任你草| 色婷婷六月天| 色色网站免费在线视频| 六月丁香婷婷色综合| 深夜婷婷五月丁香| 丁香五月亚洲天堂| 青草五月天| 免费观看的婷婷五月视频在线| 亚洲噜色| 99视频激情四射| 丁香婷婷九月| 日本片日本片祼观看网站在线看中文版网页在线看| 久久久婷| 影音先锋美国A| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 九九色欲网| 丁香五月AV| 九九这里是免费的视频5| 婷婷玖玖丁香| 欧美在线视频99| 五月婷婷与六月丁香图片激情| 色色日韩| 五月婷婷说| 五月精品| 嫩草AV久久伊人妇女超级A| 粉嫩AV久久一区二区三区| 丁香五月天AV在线 | 婷婷五月激情的图片| 99久久久国产大片区| 5月婷婷视频网站综合| 午夜美女人啪最红院| 丁香五月在线视频黑人| 久久色五月天| 亚洲熟妇AV乱码在线观看| 日韩无码AV电影网站| 六月婷婷青青青视频| 欧美人人操| 99在线视频免费| 日在线V视频在线播放| 这里只精品热在线18| 草综合14| 蜜桃成语时李时珍 免费| 99日热在线视频| 婷婷国产欧美97| 91日韩在线| 五月婷色丁香| 婷婷五月色| 国产古装妇女野外A片| 成人AV综合在线| 激情九月婷婷| 五月丁香婷婷成人网| 超碰99在线观看| 精品少妇人妻AV无码专区偷人| 97人人操com| 日韩成人网址| 亚洲va欧美va天堂v国产综合| 欧美在线视频99| 蜜乳av一级av| wuyuedingxiang99| 中文字幕激情综合| 激情五月婷婷色色| 337p午夜影院| 久久99精品视频| 久久亚洲天堂| 丁香五月婷婷手机| 99精品在线播放| 久久综合色五月| 99视频在线观看欧| 色婷婷网| 性爱先锋AV| 99re6久热只有精品6在线直播| 免费看欧美成人A片无码| 1024婷婷综合久久五月天| 丁香五月98| 超碰人人操人人干| 五月婷婷天堂| 丁香婷婷九月| www.9797国产| 96丁香六月婷婷蜜桃综合久久| 欧美色综合天天久久综合精品| 亚洲第一成人无码A片| 丁香五月在线看| 丰满女老板BD高清A片| www久久久久久久97| 嫩草AV久久伊人妇女超级a| 九九热免费| 丁香婷色| 五月天色图| 狠狠99| 丁香五月婷婷色偷偷| 天天干天天干天天| 99色最新在线视频| 成人精品视频99在线观看免费| 99久久99九九99九九九| 九九色色| 激情综合网丁香| 91狠狠综合网| 亚洲一级色电影| 婷婷综合五月| 九九热99熟女| 久婷| 天天爽成人综合网站| 色五月天丁香| 久热这里只有精品性色AV| 五月婷婷黄色| 99久久久| 99ER热精品视频| 五月婷婷丁香深深爱| 超碰在线成人| 99这里只有精品8| 婷婷五月天伊人| 在线观看熟女少妇| 精品无码久久久久久久久| 五月天快乐开心激情网| 日本91在线播放| 天天久久综合| 人人超碰99| 99热6色| 婷婷六月色情| 婷婷天天日婷婷| 一级片sese片.COM| 国产午夜精品一区二区三区四区| 中文字幕婷婷五月天在线观看| 91五月花丁香| 欧美超级视频97| 97干免费视频| 性生生活大片又黄又| 婷婷亚洲色| 亚洲操B视频| 色哟哟精品| 久久精彩综合视频| 91黄色五月天视频| 婷婷九月亚洲| www.99热国产| 欧美碰碰碰| 久操人妻| 99热的无码| 九九色天堂| 五月丁香999| 99re这里只有精品视频6| 日B日潘金莲BB| 丁香五月六月婷婷综合| 五月天激情网图片 - 百度| 任你搞免费视频观看| 女人天堂久久| 人人综合五月人人婷婷| 日韩人妻在线观看| 久婷狼色诱惑在线| 玖玖综合网| 五月天播播综合| 五月丁香亭亭A片| 91综合国免费久入| 五月色网| 丁香婷婷五月综合| 激情深爱五月天| 99热99思午夜精品| 激情综合五月天| 五月婷婷激情四月| 玖玖国产视频一区| 色玖玖玖| 成人性生活免费观看。| 五月丁香在线观看| 天天爱综合网| 婷婷激情五月综合在线视频| 综合激情婷婷| 色婷婷四色| 欧洲色区| 五月激情六月综合| 日本色色网站| 婷婷五月图片小说网| 亚洲精久久| 91九色无码内射| 五月丁香激情综合| 久久九九99| 激情五月色婷婷| 亚洲综合色丁香五月天| 五月丁香六月婷婷综合在线| 激情亚洲婷婷| 六月激情网| 夜夜嗨一区二区三区直播内容| 五月丁香综合激情网| 丁香五月精品| 99成人无码| 五月婷久久| 伊人久久大香天蕉亚洲特级| www.久操| 影院久久久| 亚洲蜜桃精久久久久久久久久久久 | 五月天婷婷影院| 色播丁香婷婷五月激情| 亚洲激情视频网| 在线国产精品色| 91精品无码久久久久久五月天| 99久久久精品| 91人无码久久久久久| 中国女人内射6XXXXX| 开心激情网五月天| 五月天com| 成人电影在线免费试看| 性欧美日本| 五月婷婷开心网| 天天操夜夜爽歪歪| 夜夜骑夜夜撸| 99热99精品| 深爱五月激情五月| 日本色色网站| 色九区| 亚洲熟妇无码乱子AV电影| 天天橾夜夜爽| 这里只有精品无码| 91九色精品| 色色色99| 久久人人看| 日韩成人中文字幕| 婷婷五月色播| 麻豆AV一区二区三区| 99在线精品免费视频| 日本乱子人伦在线视频| 五月停停大香蕉| 无语停婷丁香网| 91啦丨九色丨刺激中文| se99热久久一本| 婷婷久久免费| 丁香五月,开心五月,成人婷婷| 97人人干| 99re思思精品在线观看| 五月丁香婷婷成人网| 色婷婷综合视频| 色99在线视频| 六月婷婷激情图片| 久热99| 超碰v| 超碰一区二区| 色婷婷成人网| 五月丁香久久久日婷婷久久婷婷日 | 草草女人亚洲| 91窝窝| 色色色婷婷五月| 无码色色色色色| 六月丁香激情最新更新| 色色色免费视频| 久大香蕉| av国产精品| 天色色综合网| 怡红院 久久| 一本久久亚洲五月婷婷| 99激情视频| 99热这里只有精品青草| 九九九九九九热| 日韩色色一区| 狠狠色婷婷7| 九九亚洲视频| 97av在线视频| 色欲婷婷五月天丁香| WWW·天天操·视频?| 丁香婷婷久久老熟女综合网| 婷婷婷久久久| 婷色影院| 超碰亚洲天堂| 激情开心五月天婷婷基地丁香社区| 五月丁香欧美综合| 亚洲天堂婷婷| 9久精品| 夜夜骑福利资源| 中文字幕在线观看视频www| 夫妇交换刺激做爰| 色综合婷婷| 六月丁香婷婷网| 五月丁香亭亭| www.夜夜爱.com| 色很很96| www.色综合.com| 欧美午夜乱妇午夜福利| 五月天婷婷黄色视频| 深爱激情五月婷婷| 婷婷的五月天另类视频| 五月天色婷婷激情综合| 香蕉婷婷色五月| 久热视频97AV在线观看| 影音先锋女人av鲁色资源网小说免费| 丁香五月激情综合| 丁香五月久久社区| 丁香五月,激情五月,深爱五月| www.zbzhongsen.com| 97人人操com| 九月婷婷丁香| 国产特级毛片AAAAAAA高清| 9热视频在线观看| 79色色色色| 国产乱妇无乱码大黄AA片| 中文精品在| 欧美α√| 色婷婷久久7777| 五月丁香久久丝袜啪啪| 99国产精品白浆在线观看免费| 日韩久久色| WWW99热| 五月丁香免费看| 五月天社区婷婷| 九九热这里有精品23| 婷婷综合网| 99热99美国在线观看| 可以看的AV| 日本婷婷色| 天天干天天干天天干天天干天天| 极品人妻XXXXOOOO| 天天日人人| 99色综合| 五月天激情中文字幕| 亚洲乱码日产精品BD| 婷婷在线观看五月天在线视频| 午夜天堂啪啪| 丁香五月天激情网址| 激情五月天社区| 久久久人妻人伦| 九九色综合九九色| 996er在线观看| 久久激情视频| 色视五月天婷婷| 国产日韩欧美| 五月丁香六月情亚洲| 久久五月天激情| 日日操,夜夜撸| 亚洲婷婷五月天| 99热很操老逼| 99精品一二三四视频| www..999热久| 婷婷激情五月综合| 丁香五月婷婷天激情| 99欧美精品99日本精品| 婷婷深爱五月| 99热最新| 一本色道久久88综合日韩精品| 五月情综合| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 热久久99热欧美国产亚洲| 色五月婷婷色| 久久五月天激情| 色五月丁香伊人五月| 亚洲一级AV在线免费播放| 色色色五月婷| 丁香亭亭久久| 黄色成人AV在线| 五月激情天| 丁香五月精品视频| 丁香六月婷婷基地| 国产精品国产| 激情五月综合免费| 五月天丁香婷| 亚洲丁香五月深爱五月| 国内在线99视频| 色婷婷av在线观看| 五月婷导航| 婷婷99中文字幕| 人妻丰满精品一区二区A片| 五月天另类小说久久小说网| 久久99网址| 99性爱| 99精品视频网站| 欧美激情综合| 九九九九九九九九九九九九九国产精品| 婷婷涩五月| 久久这里99| 影音先锋毛片网站| 激情小说色五月| 九九热10| 久久丁香久久| 婷婷欧美色| 婷婷丁香视频| 成人综合视频网址| 99热免费精品| 色婷婷综合网| 五月婷丁香亚洲| 91超级碰碰碰| 在线视频激情网站| 丁香婷婷狠狠97| 99热精品在线| www.婷婷五月天| 婷婷成人综合五月| AA丁香综合激情| bukadeavzaixian| 被强行糟蹋的女人A片| 女婷久久| 亚洲操操操| 五月天激情Av| 5月色婷婷| 男人天堂99| 91干在线视频| 婷婷成人av| 无码少妇高潮喷水A片免费| 伊人久久大香线蕉av最新| 久久66成人网站| 丁香五月婷婷成人色区| 人妻狠狠操| 97色啪| 色婷婷玖玖影院| 超碰天堂网| 精品影院| 欧美人与性动交CCOO| 五月婷婷香| 日日噜噜夜夜狠狠久久丁香六月| xxx.色婷婷| 婷婷五月色亚洲| 亚洲欧洲色色| 5月色亭亭视频| 色婷婷五月天天天天天| 九九色逼| 日本综合久| 九九热欧美| 婷婷五月天激情小说| 六月婷婷色色色| 91色碰| 久婷自拍视频| 草榴视频网| 啪啪五月综合| www.99热在线| 国产激情av| 久久婷丁香五月| 精品牛仔裤超碰| 女同激情久久av久久| 色婷婷888| 色碰碰| 婷婷99狠狠躁天天| 国产色丁香| 99热国产这里只有| 热热久久久久久久久| 天天操,天天插| 色爱终和网| 九九免费视频| 狼人婷婷综合| 婷婷五月天网| 成人亚洲精品久久久久 | 中文婷婷狠狠| 五月丁香久久综合色| 婷婷色在线播放| 天天摸天天肏| 五月花成人网| www.深爱激情| 久久久久亚洲AV无码网影音先锋| 99自拍网| 午夜少妇在线观看视频| 1024成人免费看| 丁香久月| 婷婷,五月天,丁香,第一| 亚洲婷婷丁香五月天激情小说| 久久久婷丁香五月| 能看的av网站| 欧洲色| 精品热青草| 91免费看片| 日韩草草草草草草草草草草草草| 日撸夜撸日操| 色欲婷婷五月天| 俺去也五月| 色停停影院五月天| 91色婷婷综合久久中文字幕二区| 婷婷色无码| 五月天综合视频网| 激情婷婷丁香| 综合激情九月婷婷,激情综合婷婷中文字| 久久丝袜婷婷| 先锋资源 996| 国产成人av在线| 大香蕉在九| 噜噜色五月| 五月婷婷丁香大陆免费| 99九九视频精彩在线| 丁香五月天堂网| 久久免费试看120秒| 青青.com| 九九热这里| 色噜噜狠狠色综无码久久合欧美| 人妻在线网站| 婷婷成人综合免费视频| 日本女人久久| 色亭亭九月| 第2色五月婷| 天天综合网在线| 亚洲国产精品VA在线看黑人 | 天天干夜夜想| 怡红院91a√| 丁香五月天在线直播观看| 亚洲va成人va成人va在线观看| 九九热在线精品视频| 久久嘟嘟丁香| 九九色99| 99精品网| 99亚洲天堂| 久久久27操| 亚洲中文AV| 亚洲婷婷月丁香五月| 99热在线精品播放| 欧美婷婷色五月网| 操丝袜视频影院导航| 婷婷丁香五月天激情| www.yw色| 五月丁香在线综合| 国产精产国品一二三在观看| 五月色婷婷亚洲 | 色婷婷色综合| 日日夜夜天天爽| 人妻体体内射精一区二区| 无码人妻电影| 五月天婷婷操逼视频| 色yeye色综合| www.久久av.com| 色婷丁香91| 激情伊人五月婷婷久久| 久久五月丁香| 丁香五月婷婷性爱| 99久久性爱| www99精品| 伊人久久大香网| 在线观看免费狠狠色丁香香综合| 色色色9| 亚洲国产黄色电影| 六月丁香社区| 五月色婷丁香| 五月天天天色| 婷婷久久婷婷色五月| 欧美激情综合色综合| 99se丁香| 五月婷婷二月丁香| 色色色五月天激情资源| 丁香五月激情综合啪啪| 99热有精品在线观看| 色婷婷五月网| 五月天色色色网| 五月天六月婷| 婷婷va| 26UUU欧美激情一区二区| 久99久精品视频| 亚洲精品乱码久久久久久按摩观| 狠狠色狠狠| 9+1视频网址| 五月花婷婷| 日日夜夜青青草| 伊人五月婷| 五月天婷婷影院影院观看| 亚洲婷婷丁香五月| 色婷婷狠| 99精品视频免费在线播放| 狠狠操狠狠插| 骚货艹网站视频| 婷婷五月综合网激情| 玖玖五月丁香| 天天情天天狠天天透| 婷婷综合激情| 色欲资源网| 中文字幕不卡视频| 婷婷亚洲色| 就爱干 在线| a毛片二逼wwwwwwwwww| 99热这里全都是精品| 99热亚洲精品| 丰满老熟妇BBBBB搡BBB| 五月天婷网| 婷婷va| 色五月婷婷基地| 久久这里99| 色五月天丁香婷婷色| 日本久久网| 欧美综合五月丁香五月天| 五月婷婷综合性爱噜噜| 深爱开心激情| 色综合久久久久久久久五月| 丁香五月婷婷激情尤物| 五月激情啪啪| 国产在这里只有精品| 九月婷婷综合| 天天肏天天舔AV| 91超级碰| 五月婷婷精品无在线| 99热久草| 综合色图婷婷| 婷婷综合激情| 天天爽日日爽夜夜爽| 婷婷五月天黄色| 99riAV成人在线视频| 丁香五月天网站| 丁香五月第四色88| 涩五月婷婷| 色婷婷五月综合| 五月天婷五月天综合网在线观| 天堂亚洲 在线| 色婷婷影院| 99综合| 综合视频五月| 婷婷天堂综合| 91丨人妻丨国产丨丝袜| 狠狠狠狠狠狠| 亚洲不卡| 五月天亚洲色| 日韩激情人伦人| 激情五月综合| 中文字幕婷婷在线| 五月日韩中文字幕| 性爱视频99| 婷婷丁香六月| 成人五月天视频播放| 丁香六月天AV| 九九精品99| 一本色道久久综合狠狠躁小说| 欧美经典片免费观看大全| 欧美性猛交99久久久99| 狠狠狠夜夜夜| 丁香五月天激情综合网| 99亚色色色| 亚洲综合无码| 五月天久久网站| 另类婷婷五月天啪帕帕| 国产3p露脸普通话对白| 激情网五月天| 91精品婷婷国产综合久久| 狠狠干天天日| 狠狠做深爱婷婷久久综合一区| 天天日夜夜草进麻麻的子宫| 久久丁香五月婷婷| 91碰超| 99干99| 99久久五月丁香野外| 91久久网站| 无码免费人妻A片AAA毛片西瓜| 99爱视频免费| 色欲色香综合网| 免费婷婷| 99热主页日本| 久9热在线视频| 久婷| 9|无码久久久久久| 91九色国产在线| 五月色丁香| 色五月天丁香婷婷| 亚洲天99| 久久99精品久久久久久噜噜| 97日本在线| 欧美伊人9| 91精品婷婷国产综合| 色色影院黄大片| 九月丁香欧美综合| 99久久新视频| 国产视频福利| 啪啪婷婷五月天激情| 9久久久久| 成人短视频在线| 久久大香蕉| 亚洲性爱99| 六月丁香综合网| 五月婷婷福利| 精品无吗va视频免费观看| 婷婷无码五月天| 天堂久久婷婷| 99re热视频这里只精品| 99热这里只有精品99| 亚洲综合色网| 97色精品视频 | 天天做天天爱天天爽在| 婷婷开心综合人妻小说网址| 激情色情五月天| 五月丁香亚洲婷婷| 色婷婷五月综合在线| 大香蕉婷婷色| 国产又粗又大又爽又黄| 国产免费一区二区三州老师F1……| 久婷婷视平| 99九九免费精品| 中文字幕综合| 激情丁香婷婷五月天| 丁香婷婷久久老熟女综合网| 桔色成人在线| 欧美色色色色色| www.狠狠| 色婷婷色丁香色欲av| www.射伊蕉婷婷| 五月丁香色色综合| 色婷婷丁香五月综合| 丁香五月婷婷六月丁香| 丁香五月Av| 黄色片avv| 久久怕怕视频| 久久大香蕉丁香| 黄色91在线观看| 五月天婷婷色在线视频免费观看| 丁香五月激情六月综合| 婷婷五月天av| 激情99| 欧美WW在线网| 六月丁香啪| 99久久6| 久久九九99| 亚洲AV成人精品网站在线播放| enecarbon-materials.com污K127封锁请涟系@wip1688 | 亚洲AV日韩在线观看| 激情中文在线| 亚洲婷婷丁香五月亚洲| 丁香婷婷六月| 乱岳熟女50岁| 久碰久操| 色丁香五月婷婷在线| 色综合99| 99色视| 天天激情夜夜干| 激情五月婷婷综合| 婷婷五月天Av| 99精品偷自拍| 日韩欧美成人片| 婷婷六月天精品| 五月丁香啪综合| 懂色av粉嫩av蜜臀av| 任你操精品免费| 激情五月天婷婷视频| 色婷婷狠狠爱| 亚洲综合碰| 激情五月婷婷欧美极品 | 五月天久久色| 丁香五月综合高清在线| 99热在线这里| 激情文学综合婷婷五月天丁香花| 91精品无码| 第四色婷婷丁香五月| 啪啪91| 9福利性视频欧美| 五月婷婷久草在线视频综合| 天天插天天射| 婷婷香蕉| 亲子乱AV一区二区三区下载| 男人天堂AV在线一区二区| 26UUU精品一区二区c〇m| 色色亚洲五月天| 久久婷婷综合国产| 中文在线视频久1| 日韩av手机在线观看| 丁香五月婷婷深爱综合激情 | 六月丁香啪啪| 99欧州偷拍视频| 91猫咪国产在线播放| 狠狠色激情综合| 五月天激情小说| 婷婷丁香色五月亚洲| 婷婷月综合| 97五月婷婷| 色色com| 丁香六月天婷婷| 五月婷婷综合精品| 日韩不卡123| 婷婷亚洲在线| 丁香情色五月| www国产亚洲色婷婷com| 日产精品一线二线三线芒果| 青青草a在线| 99热婷婷| 狠狠色综合777| 麻豆AV一区二区三区| 狠狠干五月丁香| 大地资源色婷婷视频在线| 亚洲视频色色| 欧美S码亚洲码精品M码| 婷婷舔| 国产熟妇乱子伦hd| 国产精品五月丁香| 中文字幕免费高清电视剧| 婷婷区日本| 成人在线二区| 无码人妻一区二区三区免费九色| 色婷婷五月天av在线| 婷婷五月丁香六月天亚洲综合| 亚洲欧洲美女在线观| 热99AV网站| 激情九九六月激情免费视频| 五月天天综合| av在线资源| 99色热| 思思久久96热在精品国产,| 怡红院AV亚洲一区二区三区H| 色婷婷五月网| 色五月开心久久网| 狠狠色大香蕉| www.久久99| 狠狠综合网| 日韩色情亚洲五月天婷婷| 五月丁香六月停停停| 丁香五月五月婷婷| 色月九九| 女人高潮内射99精品| 激情综合色婷婷啪啪六月天| 婷婷综合另类| www.yw尤物| 欧美毛片www| 97伊人综合婷婷| 色色色成人网| www.丁香黄色五月天人与| 激情国产五月| 中文字幕成人影视| 色婷婷五月天天天天天| 激情综合色婷婷啪啪五月天| 久久五月天综合| 五月丁香成人网| 丁香五月激情图片婷婷| 亚洲丁香五月天视频| 综合网色| 日比视频91| 久激情网| 激情黄色小说五月天| 成人免费在线电影| 欧美日韩成人在线| 开心激情网在线| 日韩无码专区| 久久婷婷艹| 狠狠香蕉| 久久久五月四色| 超碰在线91| 久久六月综合| 婷色五月| 婷婷五月天基地| 五月天婷婷自拍图片在线观看| 亚洲国产网站| 色色丁香| 色婷婷免费视频| 久久婷婷五月综合色播| 人妻九九九九| 亚洲色99综合天堂| 天天日夜夜爽| 五月丁香婷婷深深爱| 五月丁香六月婷婷不卡免费无码| 98永久精品| 玩熟女五十AV一二三区| 国产91视频| 五月天婷婷在线AN| 日日干综合| 午夜天堂啪啪| 91oumei| 爱99干99| 丁香五月综合| 国产精品美女| 天天做天天爱天天做| 人妻久久做| 色九月欧美| 91丨九色丨国产打屁股网站| 九九这里只有精品| 久久婷婷色色| 五月婷婷丁香俺日污视频| 日韩欧美四五区| 五月婷婷色| 五月丁香黄色| 五月色激情综合网| 五月婷婷色色爱| 99热思思| 亚洲色五月| 99色色| 直接看的AV| 丁香五月色五月婷婷宗合| 激情深爱综合| 无码人妻激情| 五月天三级久久| 一区中文字幕电影| 成人AV片播放| 超碰在线观看三级片| 婷婷五月天基地| 99热在线只有精品| 亚洲av网站| 久久网日本| 婷婷娌伦网| 天天激情欧美美女| 婷婷五月天开心网| 精品久久艹| 亚洲日韩欧美综合VA| 激情综合六月| 天天做天天爱综合| 婷婷五月综合啪| 激情黄色小说五月天| 逼逼AV| 五月丁香啪啪啪啪| 六月丁香婷婷天堂| 超碰精品手机在线| 婷婷激情六月中文| 婷婷丁香五月天色区| 天天摸天天爽| 99热欧| 五月色导航| 天天成人综合视频| 中国激情网| 亚洲欧美999| 婷婷网五月天| 久9热视频| 久久停停超碰| www,天天干| 色色六月| 国产激情在线| 操操国产| 大香蕉520| 色色色色综合网| 疯狂做受XXXX高潮A片| 在线观看国产高清视频免费网站| 婷婷五月天激情网| 日韩在线看AV| 丁香九色不卡aaa| 97婷婷在线视频| 97资源碰碰在线| 97操视频| 五月天激情网图片 - 百度| 欧美色播综合在线观看| www.五月天。com| 丁香六月伊人| 99在线观看视频| 久久九九网| 99欧美精品99日本精品| 狠狠九九婷婷韩| 久久9精品| 色婷婷综合五月| 久久九九视频| 在线视频另类| WWW.桔色成人.COM| 五月色婷丁香| 婷婷精品在线| 色婷丨日丨天丨综合久久| 日日夜夜狠狠干| 色99在线观看| 国产亚洲精品AAAA片APP| 97色碰碰公开视频| 翔田千里 50岁 无码| 激情五月图| 丁香久久久| 99人妻碰碰碰久久久久禁片| 色色国产| 伊人婷婷五月天av| 五月情丁香色| 5月婷婷激情在线| 五月天激情久久| 九九热内射| 久热大香蕉| 五月婷婷丁香在线视频| 婷婷久久亚洲| 666555。COm毛片| 91九色熟女| 99er在线观看| 美女激情综合| 丁香五月天AV在线 | 99这里只有精品在线观看| 一级二级色大片| 人与禽A片啪啪| 九热免费视频| 亚州日本欧州韩美高青高潮一| 日日爽夜夜爽| 青草视频在线播放| 青青草tp| 色综合天天天天做夜夜| 91一起操| 在线sebiav精品视频| 五月天婷婷黄色视频| 色五月婷婷基地| 黄桃AV无码免费一区二区三区 | 天天做天天爱天天高潮| 九九99在线| 五月社区婷婷激情| 中文字幕综合网| 久热爱大香蕉在线蜜臀悦色 | 99丁香五月婷| 丁香五月激情综合| 九九色婷婷五月天| 久久久久久久丁香五月天婷婷| 无码任你操| 少妇搡BBBB搡BBB搡毛茸茸| 噜噜噜狠狠色综| 丁香五月六月婷婷怡红院| 婷婷五月天成人| 99视频精品| 狠狠爱五月婷婷| 男人的天堂av俄罗斯热| 五月婷婷 六月丁香| 色色激情五月天| 99热欧美精品| 激情综合六月| 亚洲人妻av伦理| 91精品久久久久久综合五月天| 五月天婷婷视频小说| 色一色综合| 侠女刀之记忆电影在线看免费| 影视av久久久噜噜噜噜噜三级| 91精品久| 思思热久久久久思思热| 99网| site:hcxsz888.com| 亚洲综合99| 任我鲁这里有精品视频| 五月丁香中文| 禁片二区| A网在线欧洲| 黄色录像网点| 亚洲综合婷婷五月| 日本不卡一区二区三区| 激情文学天天| AA丁香综合激情| 丁香婷婷激情综合五月激情| 99精品久久久| 五月丁香六月综合基地| 中文久久婷婷| 婷婷五月天黄色网址| 另类小说色婷婷| 婷婷五月丁香香蕉| 五月天婷婷成人网| 六月丁香激情| 1024操逼视频| 婷婷综合精品| 亚洲永久四色| 女性自慰系列第五页| 婷婷五月天综合网| 最新日本A片| 开心五月激情网| www.五月激情.com| 国产性爱在线| 久热A| 五月婷婷草| 五月婷婷黄色|