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

ARTICLE DETAIL

資訊詳情

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

分庫分表避坑指南:從全局ID到分布式事務(wù)的實戰(zhàn)方案

分庫分表避坑指南:從全局ID到分布式事務(wù)的實戰(zhàn)方案 幾年前我接手過一個訂單系統(tǒng)單表數(shù)據(jù)量破了億高峰期一個簡單的 count 查詢就要跑好幾秒慢日志把監(jiān)控面板刷得通紅。那時候擺在團隊面前的方案就是今天要聊的分庫分表。分完之后單表壓力確實下來了但隨之而來的問題也一個接一個冒出來全局ID、跨庫Join、分布式事務(wù)、深分頁還有最頭疼的擴容遷移。這篇文章我會按自己在生產(chǎn)環(huán)境里的踩坑順序把分庫分表后暴露出來的典型問題逐個拆開講清楚底層原因和可行的解決方案。適合正在準備分庫分表的團隊、被分片問題折磨的后端開發(fā)以及想系統(tǒng)理清這套架構(gòu)思路的人。有一些方案屬于行業(yè)通用做法我會額外標注哪些是來自我的實踐經(jīng)驗供你參考。1. 分庫分表前必須想清楚的那筆賬1.1 它到底解決了什么問題先別急著追求“用了分庫分表就高級”。分庫分表本質(zhì)上解決的是三個現(xiàn)實瓶頸。第一是連接數(shù)問題。MySQL 這類數(shù)據(jù)庫的連接是有限資源一個實例的連接數(shù)一旦被占滿新請求只能在連接池里排隊等。很多系統(tǒng)的數(shù)據(jù)量不大但應(yīng)用實例多、連接池配得又大單庫連接數(shù)很容易被打爆。分庫之后連接壓力被分散到多個實例上這個問題會立刻緩解。第二是單表數(shù)據(jù)量膨脹后索引性能下降。這里有個容易誤解的地方B樹索引本身能支撐千萬級數(shù)據(jù)3到4層深度其實還挺能打。但真實生產(chǎn)環(huán)境不是教科書大量歷史數(shù)據(jù)堆積、頁碎片增加、隨機回表變多幾億行的單表會讓很多簡單查詢變得很慢尤其帶 order by、group by 的時候慢查詢幾乎躲不掉。分表把數(shù)據(jù)拆成多份每張物理表的數(shù)據(jù)量降下來索引效率自然恢復(fù)。第三是單庫的寫入吞吐天花板。一個主庫的磁盤IO、binlog寫入、刷盤能力都有上限。日增百萬行以上的業(yè)務(wù)單庫寫入很容易成為瓶頸。分庫分表后寫入被分散到多個節(jié)點這個天花板就被抬高了。我經(jīng)手的那個訂單系統(tǒng)就是這樣單表日均新增幾十萬行大促期間一個簡單寫操作排隊幾百毫秒庫的連接數(shù)和CPU都頂不住。分完立刻立竿見影但也只是“開始”。1.2 分完之后你失去了什么可以這么理解分庫分表前你的數(shù)據(jù)庫是一個大倉庫你想怎么盤點都行分完之后倉庫被切成幾十個小隔間找特定商品很快但跨隔間盤點就得挨個進去數(shù)再在外面匯總。這是分庫分表最核心的代價用犧牲“全局視圖”換“伸縮能力”。具體來說你至少會失去以下東西跨庫 Join 能力原本一條 SQL 關(guān)聯(lián)三張表分庫后如果數(shù)據(jù)不在同一個庫這條 SQL 基本廢了。本地事務(wù)邊界原本一個事務(wù)里同時更新訂單、庫存、余額分庫后它們可能在不同庫ACID 不再由單庫保證。唯一索引約束user_name 這類全局唯一字段在分片后的數(shù)據(jù)庫里無法靠單表唯一索引兜底。全局排序、分頁、聚合count、sum、avg 這些操作都要先分散查詢再歸并深分頁更是災(zāi)難。DDL 與索引管理原來對一張表加個索引現(xiàn)在要對幾十張表操作窗口期成倍拉長。所以分庫分表是一個“確定性有損方案”。它不是優(yōu)化技巧是為了可用性和容量做出的取舍。動手之前最該做的事情就是把現(xiàn)有 SQL 全部梳理一遍按“能帶路由鍵的查詢”“不帶路由鍵的查詢”“跨分片查詢”分類。很多團隊跳過這一步拆分之后才發(fā)現(xiàn)核心列表頁全是跨分片查詢等于把單表的慢查詢換成了更復(fù)雜的跨分片慢查詢。1.3 分庫還是分表垂直還是水平不少人把“分庫分表”當(dāng)成一個詞其實它們是不同的手段解決的問題也不一樣。分庫是把不同業(yè)務(wù)域的數(shù)據(jù)放到不同數(shù)據(jù)庫實例比如把訂單庫、用戶庫、支付庫拆開。它主要解決單庫連接、IO、CPU 瓶頸。很多時候一個實例扛不住只是因為所有業(yè)務(wù)擠在一起垂直分庫就夠了根本不用水平分表。分表是把一張大表按行拆成多張結(jié)構(gòu)相同的物理表。它主要解決單表數(shù)據(jù)量過大、索引效率下降的問題。比如訂單表按 user_id 哈希拆成 64 張每張表只存原來的 1/64 數(shù)據(jù)。垂直拆分是按列拆把熱點字段和冷字段分開減少單行數(shù)據(jù)體積提高緩存命中率。水平拆分才是通常說的“分表”也是這里要討論的重點。判斷標準我一般這樣簡化單庫連接或 CPU 扛不住優(yōu)先分庫單表數(shù)據(jù)量過大、索引性能明顯退化優(yōu)先分表一張表字段特別多且冷熱訪問差異極大考慮垂直拆分。拆鍵的選擇則是最關(guān)鍵的決定。理想路由鍵要覆蓋 80% 以上的查詢。比如訂單高頻查詢是“查某個用戶的訂單列表”那就按 user_id 拆如果是“按訂單號查訂單詳情”那就按 order_id 拆。注意這兩個鍵往往只能二選一選了 user_id所有按 order_id 的查詢就會退化成全分片掃描。如果你兩種查詢都很高頻就得考慮冗余表或者異構(gòu)存儲來兜住另一種查詢方式。2. 分布式主鍵、跨庫Join與唯一約束第一個痛感來源2.1 全局唯一ID自增主鍵的替代方案分庫分表后單表自增主鍵立刻失效。原因很簡單兩個分片各自從 1 開始自增會出現(xiàn)重復(fù) ID。你說我可以設(shè)置不同的初始值和步長比如庫1生成 1,3,5庫2生成 2,4,6這確實能撐一陣子但后期擴容要重新調(diào)整步長歷史數(shù)據(jù)還得重新計算維護成本很高不推薦。實際生產(chǎn)里常用的方案有三類我做過對比方案特點適用場景業(yè)務(wù)規(guī)則ID用日期用戶ID序列拼出訂單號天然唯一且可讀訂單號、流水號等業(yè)務(wù)強相關(guān)場景號段模式集中發(fā)號服務(wù)每次取一批號本地內(nèi)存分配需要高性能、實現(xiàn)簡單的場景雪花算法時間戳機器標識序列號趨勢遞增分布式節(jié)點多、需要本地生成ID的場景UUID全局唯一但隨機無序不適合做數(shù)據(jù)庫主鍵只適合做鏈路追蹤等UUID 不建議當(dāng)主鍵這是我在實際中踩過的坑。UUID 沒有順序性作為聚簇索引主鍵時新數(shù)據(jù)會隨機插入索引頁導(dǎo)致頁分裂頻繁寫入性能和磁盤碎片都很難看。雪花算法是當(dāng)前最主流的方案核心結(jié)構(gòu)是 1 位符號位 41 位毫秒時間戳 10 位機器標識 12 位序列號。它能保證全局唯一并且趨勢遞增對索引比較友好。但有一個經(jīng)典問題時鐘回撥。如果機器 NTP 校時后時間往回跳就可能生成重復(fù) ID。我實踐中的做法是記錄上一次生成 ID 的時間戳如果當(dāng)前時間小于等于上次時間就拒絕生成或者阻塞等待時鐘恢復(fù)同時配合機器標識位做兜底。號段模式也很值得提一下它的思路是集中發(fā)號服務(wù)在數(shù)據(jù)庫里維護一個“當(dāng)前最大號段”每次申請取一批號比如一次取 1000 個應(yīng)用本地分配。這樣發(fā)號服務(wù)壓力小性能高實現(xiàn)也簡單。缺點是發(fā)號服務(wù)仍然是個單點需要做好高可用取號窗口也不能太小否則會造成頻繁訪問發(fā)號庫。我自己在中等規(guī)模系統(tǒng)里很喜歡用號段模式因為維護成本遠低于雪花算法。2.2 跨庫Join習(xí)慣了SQL的人最先懵掉的地方分庫之后一條 SQL 關(guān)聯(lián)多張表還能不能跑取決于你的拆鍵設(shè)計。最理想的情況是經(jīng)常一起 Join 的父子表使用同一個路由鍵。比如訂單表和訂單明細表都按 order_id 分片那么同一筆訂單的數(shù)據(jù)天然落在同一個分片單庫 Join 依然可用。這一點應(yīng)該在設(shè)計拆鍵時優(yōu)先考慮能幫你省掉大量后續(xù)麻煩。但現(xiàn)實往往是用戶表和訂單表沒法用同一個鍵拆。訂單按 user_id 分片用戶表又按 user_id 分片這其實還能對得上。就怕訂單按 order_id、用戶按 user_id兩套路由體系那么“查詢訂單并顯示買家昵稱”就必然跨分片??绶制?Join 的常規(guī)解法有四種冗余字段。把查詢列表需要的買家昵稱、商品標題等字段直接冗余到訂單表寫入時多寫一份查詢時無需關(guān)聯(lián)。這是最簡單也最有效的方案絕大多數(shù)訂單列表展示場景都夠用。應(yīng)用層組裝。先在分片里查出訂單數(shù)據(jù)再根據(jù) user_id 集合批量調(diào)用用戶服務(wù)查詢昵稱最后在服務(wù)內(nèi)存里拼裝。要注意控制批量查詢的 IN 條件長度分片查詢也盡量并發(fā)。寬表/匯總表。把高頻查詢需要的維度都同步到一張寬表里這張表可以單獨存儲查詢走它。本質(zhì)上是建立一個面向查詢的模型。異構(gòu)存儲。復(fù)雜關(guān)聯(lián)和檢索直接交給搜索引擎或者分析型存儲業(yè)務(wù)庫只承擔(dān)在線交易寫入。我的建議是優(yōu)先冗余字段其次應(yīng)用層組裝別在業(yè)務(wù)代碼里硬撐復(fù)雜 Join。分庫分表之后SQL 不再是萬能膠水這條認知越早建立越好。2.3 唯一約束失效唯一索引在分片下不靈了分庫分表后一個容易被忽略的問題是唯一約束失效。比如用戶表的用戶名需要全局唯一但表按 user_id 分片之后每個分片只能檢查自己分片內(nèi)有沒有重名無法判斷其他分片的同名情況。數(shù)據(jù)庫層的唯一索引在這里形同虛設(shè)。解決思路有三條。第一條讓業(yè)務(wù)規(guī)則保證唯一。比如訂單號本身由全局發(fā)號器生成規(guī)則上就不會重復(fù)這時數(shù)據(jù)庫層不需要唯一索引兜底。適合有明確業(yè)務(wù)編號的場景。第二條建立“唯一鍵 → 路由鍵”的映射表。以用戶名注冊為例先在一張獨立的全局映射表里插入用戶名和 user_id 的對應(yīng)關(guān)系映射表本身可以做唯一索引插入成功后再把用戶數(shù)據(jù)寫入 user_id 對應(yīng)的分片。并發(fā)重復(fù)注冊時映射表的唯一索引會把沖突擋在外面。代價是多一次查詢和一次額外寫入。第三條路由鍵本身如果是唯一字段比如 user_id 本身全局唯一那就不存在額外約束問題直接用路由鍵作為唯一條件即可。這套機制需要額外引入一張映射表增加一次網(wǎng)絡(luò)交互很多人會覺得麻煩。但這是分庫分表的固有復(fù)雜度躲是躲不掉的。不做映射表的話就得自己做分布式鎖而且要處理鎖粒度、鎖超時、鎖釋放復(fù)雜度只會更高。3. 跨庫分頁、排序與聚合業(yè)務(wù)代碼里最隱蔽的坑3.1 深分頁為什么是災(zāi)難分頁這個功能看起來人畜無害但分庫分表之后它是隱藏極深的性能殺手。先看單庫分頁select * from order where user_id 100 order by create_time desc limit 100000, 20。MySQL 會掃描前 100020 行丟棄前 100000 行再返回 20 行。單庫這個操作已經(jīng)很重了但還能咬牙撐住。分庫之后就完全不同了。假設(shè)拆了 16 個分片你要取全局第 100000 到 100020 條不能只查詢每個分片的后 20 條因為全局排完序之后第 100000 條可能分布在任何分片里。正確做法是每個分片各取前 100020 條然后合并排序再截取第 100001 到 100020 條。每個分片都得傳輸十萬級數(shù)據(jù)到聚合層內(nèi)存和 CPU 開銷呈線性放大offset 越大代價越高。這還不算最慘的。如果分頁查詢沒帶路由鍵比如管理員后臺按狀態(tài)查訂單所有分片都得參與那就是 16 倍的掃描量。解決方案我實踐下來最有效的是這三種禁止深分頁。前端頁碼限制到 100 頁以內(nèi)超出就提示用戶縮小查詢范圍。很多業(yè)務(wù)場景其實根本不需要翻到很深。鍵集分頁也叫 keyset pagination / 游標分頁。不依賴 offset而是記住上一頁最后一條數(shù)據(jù)的排序字段值。例如 order by create_time desc, id desc下一頁就查詢 where create_time ? or (create_time ? and id ?) order by create_time desc, id desc limit 20。這樣每頁查詢都能利用索引數(shù)據(jù)量再大也能保持穩(wěn)定的查詢耗時??绶制判蚍猪摻唤o搜索引擎。業(yè)務(wù)庫只負責(zé)寫入搜索引擎負責(zé)維護倒排索引列表頁和后臺查詢?nèi)孔咚阉鞣?wù)。這是大型系統(tǒng)里最穩(wěn)妥的路線。方案優(yōu)點缺點傳統(tǒng) offset 分頁實現(xiàn)簡單前端友好深分頁性能災(zāi)難跨分片必放大游標/鍵集分頁性能穩(wěn)定適合列表不能跳頁需要知道上一頁錨點搜索引擎分頁支持復(fù)雜條件排序引入額外組件有數(shù)據(jù)同步延遲3.2 全局排序、count與avg的歸并陷阱排序和分頁是連在一起的??绶制判虻幕舅悸肥敲總€分片先按排序字段排序取出前 N 條聚合層做歸并排序再取出最終結(jié)果。但如果排序字段不是路由鍵這個“每個分片取前 N 條”并不等于全局前 N 條需要每個分片取的量足夠大最后結(jié)果才準確。所以跨分片排序的復(fù)雜度不僅來自排序本身還來自“取多少才夠”的不確定性。生產(chǎn)上最簡單的做法就是限制查詢范圍或者直接把排序場景遷移到搜索引擎。再說 count 和 avg這兩個函數(shù)都有考核點。count(*) 在單庫是一條索引掃描分庫后就必須“各分片 count 再累加”。如果業(yè)務(wù)量每小時都要做一次精確全量計數(shù)對分片的壓力很大。更合理的做法是維護一張匯總表或者直接由分析引擎提供計數(shù)能力。avg 有一個非常經(jīng)典的坑不能直接把各分片的 avg 加起來再求平均。正確的計算方式是 avg sum(所有分片的總和) / count(所有分片的總數(shù))。因為各分片的數(shù)據(jù)量可能不均勻簡單平均結(jié)果會偏。這個我在代碼評審里見過不止一次看起來是小問題一旦數(shù)據(jù)分布傾斜報表數(shù)據(jù)直接失真。sum 也一樣需要先各分片 sum再匯總。min、max 反而簡單各分片取自身最大最小再取極端值即可。3.3 分組統(tǒng)計在分片下的正確姿勢group by 的問題比單值聚合更隱蔽。比如要統(tǒng)計“每個城市的訂單量”但訂單表是按 user_id 分片的同一個城市的用戶分散在各個分片每個分片只能算出自己的城市分組要得到全局分組必須把所有分片的小組結(jié)果合并然后按城市維度重新聚合。如果數(shù)據(jù)量不大這種歸并還能接受。但一旦分片多、基數(shù)大應(yīng)用層需要做一次完整的 MapReduce非常難受。在線上交易庫里做分組統(tǒng)計我強烈建議三條路只允許按路由鍵分組。例如按 user_id 分片就只做 user 維度的分組這樣每個分片獨立算結(jié)果直接匯總即可。把分組鍵作為二級分片鍵建設(shè)維度表或匯總表。異步預(yù)聚合。寫入時同步到分析型數(shù)據(jù)庫或搜索引擎報表和統(tǒng)計全部從這邊出。這是大型系統(tǒng)的通行做法也是我實際最喜歡的方案。分庫分表永遠是為在線事務(wù)服務(wù)的不是為了數(shù)據(jù)分析更好。分析類的復(fù)雜聚合應(yīng)該盡早導(dǎo)出到專用引擎而不是在業(yè)務(wù)庫上硬扛。4. 分布式事務(wù)從本地ACID到最終一致性的思維切換4.1 單庫事務(wù)為什么不能直接搬到分庫分庫之前一個下單操作通常是這樣開啟事務(wù)插入訂單表扣減庫存表更新賬戶余額然后提交。如果中間任何一步失敗本地事務(wù)回滾數(shù)據(jù)保持一致。分庫分表之后訂單、庫存、余額很可能在不同的庫甚至不同的物理機。你無法再用一個數(shù)據(jù)庫事務(wù)把它們包起來——每個庫的事務(wù)是獨立的Commit 的時候可能訂單庫提交成功、庫存庫提交失敗系統(tǒng)立即處于不一致狀態(tài)。這就是分布式事務(wù)要解決的問題。很多人一開始試圖找一種“像本地事務(wù)一樣”的分布式事務(wù)框架但分布式環(huán)境下沒有免費的午餐你必須接受一個事實跨庫操作的原子性要么依賴協(xié)調(diào)協(xié)議要么靠最終一致性補償。一個非常實用的建議在拆鍵設(shè)計階段盡量把強一致相關(guān)的數(shù)據(jù)放到同一個分片。比如“訂單和訂單明細”本來就在同一個庫里關(guān)聯(lián)那就保持同一路由鍵“用戶余額變動”和“訂單創(chuàng)建”如果無法避免跨分片則需要認真評估業(yè)務(wù)上是否真的需要強一致。4.2 幾種主流的分布式事務(wù)方案怎么選我把實際工程里見得最多的方案拉個表給你參考方案一致性強度開發(fā)成本適用場景XA 兩階段提交強一致低一致性要求極高、并發(fā)量不大TCC 補償最終一致高跨服務(wù)資金操作需自定義補償本地消息表/事務(wù)消息最終一致中訂單、異步通知最通用SAGA 長事務(wù)最終一致中高流程長、有明確正向/補償步驟XA 是數(shù)據(jù)庫原生支持的強一致方案邏輯簡單但兩階段提交的鎖持有時間長并發(fā)能力差在高頻寫入場景下基本扛不住。用在低并發(fā)、強一致的管理類操作還可以。TCC 需要業(yè)務(wù)方自己實現(xiàn) Try、Confirm、Cancel 三個動作。Try 階段預(yù)留資源Confirm 提交Cancel 回滾。這套方案靈活、性能比 XA 好但代碼量很大還要處理協(xié)調(diào)者的狀態(tài)和超時。我見過不少團隊用 TCC 處理支付扣款最后維護補償邏輯的成本非常高。本地消息表和事務(wù)消息是最終一致方案里性價比最高的。核心思路是在業(yè)務(wù)本地事務(wù)里同時寫入業(yè)務(wù)數(shù)據(jù)和一條待發(fā)送消息事務(wù)提交后再把消息發(fā)出去消費者異步處理后續(xù)步驟。由于業(yè)務(wù)數(shù)據(jù)和消息同庫提交不會出現(xiàn)“業(yè)務(wù)做了但消息沒發(fā)”的問題。很多消息中間件的事務(wù)消息做得更徹底把本地表都省了原理是一樣的。SAGA 把長事務(wù)拆成多個本地事務(wù)每一步有正向操作和補償操作。和 TCC 的區(qū)別是SAGA 沒有預(yù)留資源這一說直接執(zhí)行失敗時逆序補償。適合訂單流程長、步驟邊界清晰的場景。我的個人傾向是能用單庫事務(wù)解決就不做分布式事務(wù)必須跨庫時優(yōu)先事務(wù)消息和最終一致不要一上來就上 TCC 或 XA。真正的高并發(fā)系統(tǒng)核心訴求是“最終把事辦成且不重復(fù)”而不是“每一步都強一致”。4.3 兜底補償與對賬生產(chǎn)環(huán)境真正的保命手段再好的分布式事務(wù)方案在真實網(wǎng)絡(luò)環(huán)境下也會出現(xiàn)消息丟失、重復(fù)消費、超時無響應(yīng)。所以生產(chǎn)環(huán)境里真正靠得住的是兜底機制。第一是對賬。定期掃描所有跨庫業(yè)務(wù)的狀態(tài)數(shù)據(jù)找出不一致的記錄并觸發(fā)補償。比如訂單表和支付流水表對不上對賬任務(wù)自動補單或者告警人工介入。這是最終一致性的守護神比任何事務(wù)框架都重要。第二是冪等。下游消費方必須能冪等處理否則一條消息重復(fù)投遞就會造成重復(fù)扣款、重復(fù)發(fā)貨。冪等鍵一般用業(yè)務(wù)主鍵加事件類型處理前先查詢是否已處理。我分享一個真實教訓(xùn)有段時間我們上線了本地消息表機制以為萬事大吉結(jié)果忘了給消息表配置定期清理任務(wù)消息表膨脹到幾千萬行查詢越來越慢消費端延遲飆升。后來加上“消息表狀態(tài)掃描 定時補償”才穩(wěn)定下來。分布式事務(wù)只能降低不一致概率不能消滅不一致運維側(cè)的兜底永遠不能省。5. 擴容與數(shù)據(jù)遷移分庫分表真正的第二次考驗5.1 取模擴容的代價與一致性哈希很多人以為分庫分表是一勞永逸等容量不夠了才發(fā)現(xiàn)擴容才是最難的一步。最早期的方法是按 user_id % 16 取模拆成 16 個分片。這種方案在數(shù)據(jù)量增長到臨界點后想擴到 32 個分片問題就來了因為取模的模數(shù)變了原來大部分數(shù)據(jù)的路由結(jié)果都會變幾乎所有的數(shù)據(jù)都得重新搬遷。擴容不再是“加幾臺機器”的事而是一次接近全量遷移的大工程。一致性哈希是這里面的經(jīng)典解法。把哈希值空間組織成環(huán)機器落在環(huán)上數(shù)據(jù)按順時針歸屬到最近的節(jié)點。擴容時只需要把一部分數(shù)據(jù)從相鄰節(jié)點遷移到新節(jié)點遷移量比取模小得多。但一致性哈希也有自己的問題節(jié)點分布不均會導(dǎo)致數(shù)據(jù)傾斜需要引入虛擬節(jié)點來緩解同時遷移期間新舊映射要保證一致性否則會出現(xiàn)讀寫走不同節(jié)點的情況。另外按范圍分片比如按時間范圍、按ID區(qū)間在擴容時更靈活只需要切分某個區(qū)間的數(shù)據(jù)但缺點也很明顯最新數(shù)據(jù)往往集中在某個區(qū)段容易形成熱點。如果業(yè)務(wù)本來就是冷熱交替比如訂單按月份歸檔范圍分片反而很合適。所以沒有哪種分片算法是完美的只有適不適合當(dāng)前業(yè)務(wù)。5.2 邏輯分片與預(yù)分片平滑擴容的工程化思路這里介紹一個我在實踐中認為最值得推廣的方案邏輯分片與預(yù)分片。核心思想是把“分片編號”和“物理存儲位置”解耦。預(yù)先定義一批固定數(shù)量的邏輯分片比如 1024 個槽位每個槽位是一個邏輯概念它當(dāng)前映射到哪張物理表、哪個物理庫由一個路由表維護。寫入數(shù)據(jù)時先用路由鍵算出槽位編號再查路由表找到實際物理存儲位置。擴容時不需要改變槽位數(shù)量和路由算法只需要把一部分槽位從舊節(jié)點遷移到新節(jié)點并更新路由表即可。遷移粒度從“全量數(shù)據(jù)”變成“局部槽位”范圍可控影響面小。預(yù)分片的槽位數(shù)在設(shè)計時就要預(yù)留未來好幾年的增長空間比如先定 1024 個槽位映射到 16 個物理庫每庫 64 個槽位。將來擴到 32 個庫每庫分到的槽位變成 32 個數(shù)據(jù)只搬移那些槽位對應(yīng)的數(shù)據(jù)其他槽位紋絲不動。工程實現(xiàn)上路由表可以放到配置中心或本地進程緩存。這里有個小細節(jié)路由表變更期間要保證一致性最好引入版本號所有請求在同一個版本下解析路由等遷移完成再切換版本。否則遷移中途出現(xiàn)路由不一致數(shù)據(jù)就會讀到一半新一半舊的。預(yù)分片的實現(xiàn)比直接取模多一層映射初期確實有點多余但它是長期最省心的方案。如果團隊有中長期擴容預(yù)期建議一步到位。5.3 數(shù)據(jù)遷移的完整節(jié)奏從雙寫到灰度切換不管用哪種方案數(shù)據(jù)遷移都不是“停服拷貝”而是線上平滑切換。我自己跑過多次遷移基本固定成下面五步節(jié)奏。第一步建表與雙寫。在目標庫建好新表結(jié)構(gòu)業(yè)務(wù)寫入時同時寫舊表和按新規(guī)則映射的新表雙寫邏輯要能容忍重復(fù)數(shù)據(jù)最好以冪等寫入方式保證兩側(cè)一致。第二步全量遷移。用一致性快照或者離線任務(wù)把存量數(shù)據(jù)導(dǎo)入目標庫。如果數(shù)據(jù)量很大按槽位或按ID區(qū)間分批處理。第三步增量追平。通過數(shù)據(jù)庫的變更日志訂閱或者消息回放把雙寫期間產(chǎn)生的增量數(shù)據(jù)持續(xù)同步到目標庫直到目標庫和舊庫的數(shù)據(jù)延遲降到秒級以內(nèi)。第四步數(shù)據(jù)校驗。抽樣或者全量對比主鍵、版本號、排序字段。不一致的記錄要重新回放。這一步不要省我見過直接跳過校驗上線結(jié)果漏了部分分片的數(shù)據(jù)用戶反饋問題層出不窮。第五步灰度切換。先把少量讀寫流量切到新路由觀察指標逐步放大比例1% → 10% → 50% → 100%。每次放大后至少觀察一個業(yè)務(wù)周期確認無異常再繼續(xù)。窗口選擇低峰期出錯時還能快速回切。雙寫與增量同步期間還有一個常見坑新舊路由并存會導(dǎo)致部分數(shù)據(jù)重復(fù)。這個只能靠全鏈路冪等去兜比如每次寫入帶業(yè)務(wù)主鍵目標庫按主鍵去重??傊w移本身不可怕可怕的是遷移方案里沒有回退預(yù)案和校驗機制。6. 反向經(jīng)驗有些表根本不該分庫分表6.1 什么情況下分庫分表是負優(yōu)化聊了這么多問題與解法我得潑一盆冷水很大一部分系統(tǒng)其實根本不需要分庫分表。一個典型場景是單表只有幾百萬行數(shù)據(jù)查詢幾十毫秒僅僅因為聽說“大廠都這么干”或者為了面試好聊就引入了分庫分表。結(jié)果每個查詢都要帶路由鍵不帶就全分片掃描跨分片查詢還引入額外的組裝邏輯性能比單庫更差。這種屬于典型的負優(yōu)化。另一個反例是業(yè)務(wù) SQL 本身特別復(fù)雜、關(guān)聯(lián)五六個表、查詢維度又多又雜的表。這種表一旦水平拆分幾乎所有查詢都會退化成跨分片掃描加上 MapReduce 式的歸并復(fù)雜度直接爆炸。對于這種表分庫分表只會讓系統(tǒng)更慢、更不穩(wěn)定。一個簡單判斷是如果分庫分表之后你的核心查詢依然需要頻繁跨分片且跨分片率超過 30%那大概率是拆錯了。正確做法是在拆分前就把查詢模式摸清而不是拆完再補。6.2 更輕的替代方案緩存、冷熱分離與異構(gòu)存儲很多以為需要分庫分表的問題其實用更輕的方案就能解決。讀多寫少、查詢熱點集中優(yōu)先上緩存。把高頻查詢結(jié)果緩存起來數(shù)據(jù)庫壓力立刻降下來。緩存都搞不定的高頻復(fù)雜查詢再考慮別的。歷史數(shù)據(jù)不參與在線查詢做冷熱分離或歸檔。以訂單系統(tǒng)為例三個月前的訂單查詢頻率驟降可以直接遷移到歸檔庫或大數(shù)據(jù)存儲在線庫只保留熱數(shù)據(jù)。這種方案比無腦水平分表更簡單效果也更直接。單庫連接和IO扛不住優(yōu)先垂直分庫。把用戶、訂單、商品放到不同實例互不影響。很多時候沒有水平拆分的必要只是多個業(yè)務(wù)域擠在一起了。復(fù)雜檢索、報表聚合這類需求最好直接交給搜索引擎或者分析型數(shù)據(jù)庫。讓在線事務(wù)庫承擔(dān)極少的高權(quán)重查詢其他分析類需求全部導(dǎo)出到專用引擎。這套組合拳下來真正需要水平分表的場景會少很多。6.3 我的選型判斷標準最后分享一套我自己的選型判斷框架純經(jīng)驗之談不一定絕對但值得參考單表數(shù)據(jù)量是否接近 5000 萬行以上并且持續(xù)增長單庫寫入 QPS 是否持續(xù)打到上千甚至更高連接數(shù)和 CPU 是否長期高水位核心業(yè)務(wù)是否已經(jīng)無法靠索引優(yōu)化、緩存、歸檔、讀寫分離來緩解最頻繁的查詢是否能以某一個固定鍵作為路由鍵收斂跨分片查詢比例是否足夠低團隊是否有人能長期維護路由、雙寫、對賬、遷移這套體系如果這五條里有兩條以上不滿足我都建議先不要分。因為分庫分表是用復(fù)雜度換容量收益必須明顯大于復(fù)雜度才有意義。我以前接手過一個“號稱已分庫分表”的老系統(tǒng)不少表才幾百萬行卻因為路由鍵設(shè)計不合理每個查詢都在全分片掃描比單庫還慢最后又把那些表合并回去了。這個內(nèi)容后續(xù)還可以這樣擴展把路由表、雙寫同步、對賬任務(wù)做成可觀測的治理平臺或者進一步思考冷熱混合存儲讓分片策略隨著數(shù)據(jù)生命周期動態(tài)調(diào)整。不過這些都是后話了先把上面這些問題想清楚分庫分表這條路才算真的走穩(wěn)了。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
婷婷丁香五月天影院| 99网| 婷婷丁香色情| 丁香六月婷婷综合激情欧美| 99在线精品观看99| 欧洲色区| 五月婷婷在线观看| 99视频在线啪| 夜夜操天天爽| 97操碰在线视频| 伊人日日干| 五月开心网| 五月丁香综合伦理片| 免费无码毛片一区二区A片| 快乐激情五月色婷婷| 天天干天天日天天操| 欧美成人AAA片一区国产精品| 六月香五月婷| 超级碰碰视频无码| 婷婷色导航| 成人做爰A片免费看网站找不到了| 九九 激情 网| 97精品自拍| 天天干天天干天天干天天干天天干| 亚洲第一成人无码A片| 久久婷婷热| 丁香婷婷人妻| WWW.五月com| 26.uuu丁香五月婷婷| 超碰a女人的天堂| 九九Y精品热播| 五月丁香六月欧美综合网站| 99操99| 神马欧美精| www.99精品视频| 丁香五月成人社区| 啪啪色激情五月天| 色999亚洲人成色| 久碰视频| 亚洲第二AV| 99久在线精品99re8热| 欧美色骚婷婷五月天| 热99玖玖99玖玖99九九| av中文网站| 香焦网五月天| 激情五月婷在线精品| 色综合天天| 热久久视频99| www色色色com| 激情性爱婷婷| 色婷狠狠| 91久久九久久九久久九久久九久久| 丁香六月色婷婷| 97人凄人人操人人爽| www婷婷| 久久五月婷婷电影| 五月天激情黄色网址| 婷婷综合五月天| 久久久97| 五月天福利影院导航| 欧洲亚洲精品| 91久久久久久久| 2025超碰| 91人操| 婷婷五月综合网| 任你草| 综合九九日本| 99精品视频免费| 色色影院黄大片| 久久精品性爱| 激情婷婷六月| 在线观看亚洲视频影院| 1024成人免费看| 九九综合伊人| 久热只有精品| 五月婷婷色播视频| 色色狼人综合| 五月天丁香啪啪啪啪| 久久免片| 9|无码久久久久久| 天天操天天国产三级片处女学生妹| 99成人网一区| 中文字幕五月久久婷| 国产亚洲精品久久久久久郑州| 色屌丝中文字幕| 五月花成人网| 伊人在线视频| 色爱综合网| 亚洲丁香五月| 五月天激情小说婷婷基地| 超碰京东热av男人的天堂| 色999;丁香五月| 六月天婷婷| 西瓜美女a片| 人人澡玖玖一| 九九综合色综合| www.夜夜爱.com| 五月婷婷丁香大陆免费| 直接看的AV| 久久婷婷色丁香| 婷婷九月色| 色婷成人狠干| 99精品国产在热久久| 五月丁香啪啪激情| 欧美3AaAa大片| 南京搡BBBB搡BBBB| 天天色丁香| 久草视频大香蕉99| 无码人妻一区二区一牛影视| 蒲京久久无码视频| 乱岳熟女50岁| 亚洲精品又粗又大又爽A片| 久久a热| 九月色婷婷综合| 深爱五月最新网址| 草操网| 成人 九九九九| 99色视频| 国产精品久久久久久久久久| 99免费视频| 婷婷99狠狠| 狠狠做深爱婷婷久久综合一区| 婷婷五月天av| 丁香婷婷久| 99热婷婷| 99精品偷自拍| aV直接看| 亚洲V国产V欧美V久久久久久| 婷婷刺激综合| 色狠狠色噜噜AV天堂五区消防| 激情五月视频| 丁香五月98| 欧美在线骚货| 亚洲小视频免费看| 五月丁香六月婷婷不卡免费无码 | 婷婷色色欧美| 色狠狠婷婷| 亚州色婷婷| 综合色五月| 五月丁香黄色| 激情五月六月丁香| 丁香婷停五月激情综合深爱| 五月综合视频在线| renrencaoav| 天天操天天日天天爱| 久久XX| 国产成人在线不卡AV| 亚洲色99综合天堂| 密着浓厚中出乚交尾GvG935| 伊人丁香五月婷婷潮吹| 久久九九99视频| 国精产品一区一区三区免费视频 | 久9热在线视频| 五月婷婷色情| 日产精品一线二线三线芒果 | 天天拍夜夜爽日日| 九九99精品视频在线观看| 午夜爱爱爱成人| 丁香五月婷婷姐| 色激情综合狠狠婷婷| 99视频久久免费视频| 91avse| 欧美婷婷九月| 激情婷婷五月天。| 日本在线噜噜| 丁香5月婷婷| 婷婷深爱五月丁香网| 色J香五月天| 五月丁香激情婷婷综合| 激情五月婷婷丁香| 伊人在线视频| 九九热re99re6在线精品| 五月天激情图片| www色五月| 无码人妻精品一区二区蜜桃色欲| 大香蕉久艹| 伊人啪啪网| 亚洲激情综合免费| 色五月婷婷久久| 婷婷五月花| 超极99精品| 丁香五月激情久久麻豆| www99精品在线观看| 久久一级片| 久久一操| 99热在这里只有免费精品| 天天综合天天玩夜夜玩天天玩夜夜玩 | 婷婷五月天日逼| 五月六月丁香婷婷在线观看| 97婷婷狠狠| 婷婷久久夜| 99热精品中文字幕| 九九婷婷综合| 色五月激情五月| 狠狠干婷婷| 国产69久久久欧美黑人A片| 久久婷婷网址| 久久三级视频| 99热日韩这里只有精品| 日本va欧美va欧美| 天天日天天爽| 五月丁香啪啪啪| a免费在线| 欧美超级视频97| 日本熟妇精品99| 丁香六月中文| 97超级碰| 色色色色色色色色色999| 99热在线只有精品| 五月天婷婷五月| 丁香狠狠| 五月天婷婷色综合| 少妇综合网| 五月丁香六月激情| 五月丁香久| 国产色色网站网址| 亚洲在线免费成人| 美女激情综合| 亚色网站小视频| 思思精品久久艹| 77777亚洲午夜久久| 婷婷丁香五月亚洲| 性天天中文网| 欧洲区自拍| 超碰9| 久久视频这里都是精品| 爆乳熟女一区二区三区爆乳 | 久久精彩视频18| 操熟女成人网| 日本五月婷婷久久久六月丁香| 五月天伊人综合| 91国产精品视频播放| 99久久免费精品| 激情五月天在线观看色婷婷| 中文字幕无码人妻少妇免费视频| 久久99大全| 欧美毛片www| 婷婷九月狠狠色| 亚洲视频在线网| BBWCUCKOLD精品熟妇| 天天干夜夜想| 婷婷五月天在线观看第二页| 色婷丁香五月| 五月丁香网视频| 日韩五月婷婷久久| 97人妻碰碰中文无码久热丝袜| 色综合久久综合| 久久狠狠色| 五月天久久丁香| 日逼免费视频| 国产真实乱对白精彩| 色婷婷中文| 啪啪视频99| 日韩超碰在线| 色色色无码| 久久久久思思热| 思思久久精品| 激情综合网婷婷久久| 狠狠色婷| 97色色网| 欧洲亚洲精品| 丁香五月激情婷婷婷婷在线观看| 激情综合五月| 五月婷婷综合在线| 四色永久成人网站| 激情第四色| 久久综合丁香| 天天综合精品| 欧美色频| 国产黄大片在线观看画质优化| 激情五月婷婷网| 欧洲激情精品婷婷| 99热碰碰| 天天爽夜夜爽天天爽夜夜爽| 色五月综合在线| 无码少妇高潮喷水A片免费| 国产偷人爽久久久久久老妇APP | 最新AV在线观看| 婷婷激情肏屄网| 色五月xxx| 色五开心五月五月深深爱| 色五月丁香伊人五月| 婷婷开心激情综合五月天| 五月 丁香 欧美| 伊人婷婷色| 97色在线| 中文字幕婷婷| 丰满人妻一区三区三区| 亚卅毛片| 久久99热这里只有精品| 亚洲超碰在线| 亚洲欧洲美女在线观| 丁香六月婷婷综合| 这里只有精品视频在线| 婷婷色五月综合| 99自拍视频在线| 99热这里只有精品2016| 综合网天天| 东京热免费视频| 中文字幕亚洲-区久久99婷婷| 伊人激情| 色综合丁香婷婷| 综合激情婷婷| 欧美精品99| 久久久五月天| XX久久| 99色在线视频观看| 99亚洲日韩| 激情亚洲网| 久草婷妨| 深情五月天| 国产SUV精品一区二区883| 婷婷综合色网| 色噜久| 日本三级大片| 、激情六月天| 日韩一级一片内射视频4K| 91无码色色| 五月天婷婷中文字幕在线播放| 五月丁香六月婷婷久久| 日韩AV免费| 婷婷丁香五月亚洲| 国产欧美精品AAAAAA片| 亚洲色欲欧美一区二区三区| 色色色网站| 丁香六月婷婷综合色| 激情丁香婷婷| 精品无吗va视频免费观看| 亚洲亚洲人成综合网络| 欧美内射AA| 99热这里精| 人与禽A片啪啪| 99在线观看| 五月丁香婷婷综合激情基地| 日本一级一片免费视频| 色五月婷婷五月天| 五月丁香久久网| 狠狠草在线观看| 婷婷丁香18| 欧美婷婷日本| 日韩成人精品中文字幕| 97福利视频| 婷婷导航| 99视频这里只有免费精品| 五月天播播中文字幕| 色婷久| 婷婷丁香宗合888| 国产一二区爆乳_1国产日韩一区二区三-成人AV | 狼人狠狠操| 激情性爱网站| 天天干天天干天天干天天干天天干| 亚洲色婷婷五月天| 色婷婷综合网| 精品在线| 色99欧洲色19| 婷色五月| 天天操夜夜爽| 99ri国产| 九九成人| 五月丁香亭亭成人电影| 国产成人综合亚洲| 狠狠色狠狠色综合日日91| 丁香六月综合激情| 色5月婷婷| 五月Huangsewang| 亚洲精品乱码久久久久久按摩观| 婷婷五月天激情网| 五月天婷婷基地| 日韩精品成人在线| 一本大道嫩草AV无码专区| 天天精品视频在线观看视频| 亚洲精品白浆高清久久久久久| 另类激情五月天。| 96精品国产综合久久久久久| 九九热99热| 99爱免费视频| 极品五月天| 婷婷五月天基地| 色五月婷婷综合| 91人人人人人| 九色91视频| 九九精彩久久| 色域五月丁香| 色综合九九色综合88| 另类小说五月天综合网| 91seav| 亚洲丁香五月| 激情五月丁香色婷婷| 五月激情网站| 99热全是精品| 婷婷丁香精品视频在线观看| 色五月婷婷网| 97色热| 五月天激情网图片| 久久婷婷亚洲| 亚洲无码www| 五月婷婷开心色伊人| 婷婷色婷婷| www.99精品视频| 九九人人自拍| 日韩中文欧美| 五月色婷婷综合| 亚洲五月综合色播| 亚洲综合99| 91狠狠色丁香婷婷综合久久精品| 五月婷婷丁香日韩在线| 91色在线| 99热这里只有精品10| 久久婷婷青草五月天| 丁香六月婷婷综合在线| 俺去也综合| 超碰在线资源| 综合狠狠五月婷婷| 日产精品久久久久久久蜜臀| 日本精品99网站| 婷婷丁香五月亚洲综合网在线视频观看| 成人短视频在线| 色播色丁香五月| 天天檫天天爽| 五月丁香六月婷综合成人综合| 狠狠综合久久| 午夜丁香婷婷| 狠狠色婷婷在线| 激情第四色| 人人操人人看97干| 婷婷激情五月综合在线视频| 色综合色| 婷婷亚洲影院| 丁香色综合| 狠狠色综合图片| 婷婷激情五月天7| 日韩 中文 欧美| av婷婷丁香| 天天爽夜夜爽夜夜爽精| 日韩丰满少妇无码内射| 丁香综合婷婷开心激情网| 丁香五月在线观看完整版| 五月丁香综合网| 六月丁香啪| 久久久香| 丁香九月综合在线| 丁香五月婷婷激情蜜桃| 91日在线视频| 玖玖热视频| 9久热在线视频| 婷婷六月激情丁香| 丁J香六月首页| 色播播五月| 9热在线观看| 色色网五月激情| 超碰五月婷婷五月天| 青青草护士中出内射-欧美电影在线天堂新版| 97在线刺激| 99久久综合网| 777精品久无码人妻蜜桃| 色五月开心五月激情五月| 久久精品A片777777| 激情婷婷五月天在线观看| 在线精品97| 日韩AAAAA| 五月天伊人综合| 婷婷综合网| 色。 日日日| 色五月综合| 丁香六月毛片| 91丨九色丨熟女|老版| 婷婷深爱网| 99re免费精品视频| 国产片天天爽夜夜爽| 欧美丰满熟妇BBB久久久| 六月婷婷激情小说网| 99热人人操人人操| 91超碰在线观看| 性爱在线播放av| 亚洲操逼网| 色婷婷五月天在线| 久久一级AV| 五月丁香婷婷激情| 影音先锋高清无码资源网| 日屌日日操日日色| 91pornav在线| 99久久99久久综合| 真实亲子乱子伦高清在线观看| 五月激情网站| 大陆极品少妇内射AAAAAA| 五月开心深爱激情网| 九九热在线99| 少妇2做爰HD韩国电影| 亚洲综合干| 日韩一区二区A片免费观看| 五月激情综合美女久久| 国产亚洲网站在线| 婷婷五月激情视频在线| 色播五月综合网| www.五月丁香| 丁香五月日韩| 天天色播| 夜夜爽天天爽| 婷婷色丁香五月| 青草五月天| 天天爽日日爽夜夜爽| 丁香六月色婷婷| 少妇伦子伦精品无吗| 日日操,天天操| 大香人妻| 五月天婷婷色| 久99久热| 99er6热在线观看精品6| 五月婷婷色色| 停停六月 综合| 狼人婷婷综合| 五月丁香婷婷综合在线| www91久久| 日本丁香五月| 丁香五月天激情AV| 啪啪五月综合| 日韩AV大全| 2023天天日夜夜爽| 丁香五月97视频| 五月天婷婷綜合院| 色婷婷电影| 97色婷婷| 五月亭亭欧美女人| 成人精品视频99在线观看免费 | www.zbzhongsen.com| WWW五月婷婷| 高清国产AV| 亚洲深喉aV| PORNY九色9l自拍视频成人| 夜夜操天天爽| 婷婷色情网| 色婷婷四虎| 五月丁香综合| 综合网五月| 五月丁香婷婷五月色| 超碰com| 色欲色欲久久宗合网| 婷婷在线激情| 任你艹| 五月天久久婷| 久婷婷| 综合亚洲色色| 99操逼视频| 久热伊人在91| 啪啪综合网| 深爱五月中文字幕| 无码地址| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 欧美人妻一区二区| 色五月天网| 色色是色N一| 五月香婷婷| 九九热精品99| www.久热| 激情五月丁香在线观看直播| 97热视频| 久久婷婷原创视频| 亚洲操精品| 狠狠插狠狠操| 99性感视频| 欧美色骚婷婷五月天| 激情婷婷色色| 美女被肏网站在线看| 欧美情色电影一区二区| 丁香五月社区| 天天日天天爽| 99久久五月婷婷| 天堂草在线观看| 色综合爱综合| 久久九九网| 亚洲旡码| AV在线二十六页| 五月婷婷综合在线| 深爱激情五月婷婷| 五月丁香综合| 久久久久婷| 日本婷婷五月天| 伊人婷婷五月| 97好吊操| 五月色 亚洲| 久草A片| 美女黄频aⅴ视频| www狠狠爱com| 五月天婷婷久久| 久99久精品| 这里只有精品免费观看网占| 操久久网| 久久久久这里都是精品| 思思热久久阴99| 高清 码 免费看片短视频| 久久婷综| 极品九九九九九九| 欧美成人热| 涩 五月 婷婷 狠狠| 激情五月六月| 激情五月天无人视频在线| 五月婷婷色| 99热综合| 色五月激情问网站| www.婷婷六月天| 日韩精品一区二区刘| 婷婷丁香五月基地| 综合色图婷婷| 日韩AV在线电影| 激情内射人妻1区2区3区| 成人αV视频免费观看| 五月丁香久久综合91| 中国丰满熟女A片免费观| 色五月婷婷综合| 色五月综合网| 婷婷五月天久久久| 五月天婷婷色色| 四川BBB搡BBB爽爽视频| 极品嫩草| 99综合99| 超级碰碰碰久久网站视频| 热99久| 操比激情五月| 一级性感黄色内射视频| 天天日综合网射| 秋霞三级影视资源| 99热成人在线观看| 婷婷五月丁香久久| 天天草天天爽| 99视频在线| 99热网精品| 五月开心播播网| 99操不停| 碰人人操| 99热在线爱| 丁香五月激情澎湃一区| 色五月天成人| 婷婷金品综合视频| 思思热在线视频精品| 91狠狠综合久久久| 亚洲不卡123| 亚洲国产网站| 丁香六月婷婷久久综合| 久去色色| 久久精品亚洲一级牲爱综合| 五月婷婷六月丁香在线| 亚洲操b| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 亚洲无码性爱| www.爱婷婷.com| 综合网色| 天天舔天天摸天天透| 婷婷久久精品| 国产精品a无线| AV网址大全在| 久草丁香婷婷五月天婷| sS丁香五月婷婷| 人人舔人人| 丁香婷婷色五月| 激情五月天色播| 成人做爰A片免费看视频| www.99热国产| 99精品一二三四视频| 久久女婷| 五月婷婷丁香狠狠撸久久| 夜夜爽天操| 婷婷综合在线| 亚洲国产黄色电影| 热99精品视频| 狠狠 婷婷| 久久九九蜜| 99爱在线免费视频| 欧美性猛交 XXXX 乱大交| 日本啪啪视频HD| 夜夜大香蕉婷婷丁香| 99热精品10| 97色五月天| 在线观看亚洲视频影院| 日韩啪啪视频| 五月丁香在线观看99| 啪啪一区| 99免费| 婷婷丁香五月天激情| 五月天色色无码| 加勒比久热| 99综合色色色| a久久| 九九色情网站| 久操干| 天堂爱爱| 亚洲熟女色| 国产肥白大熟妇BBBB视频| 99亚洲视频| 91婷婷丁香五月天免费视频网站| 狠狠干在线| 亚洲男女激情| 91N 一起草| 都市激情五月婷婷综合| 婷香五月激情视频| 六月丁丁香| 狠狠999| 密臀av无码人妻精品| 五月色欧洲| 99爱视频在线观看| 色婷婷丁香| 丁香五月天五码婷婷| 婷婷五月天亚洲综合网| 五月丁香六月色情网欧美| 丁香色色五月| 91热在线| 狠狠干五码| 五月婷婷丁香综合| 亚洲中文字幕av| 日韩欧美一级大黄网站| se99视频| 噜噜狠狠| 这里只精品| 精品99爱免费视频在线观看| 这里只有精品1| 久九男女天堂| 无码啪啪| 五月天久久www| 九九碰九九爱97超碰| 天色色综合网| 丁香婷婷色五月合集| 国产这里只有精品| 五月婷婷啪啪啪| 久婷五月| 亚洲Av成人在线观看| 中文在线视频久1| 婷婷丁香激情五月天色色色| 丁香五月婷婷六月婷婷| 九九视频在线| 免费看片在线观看| 99色精品| 伊人婷婷色| 色五月AV| 六月婷婷综合网2| 日日操日日射| 五月天成人在线视频网站| 色色色激情| 一级黄色影片| 色色五月天婷婷| 久9视频| 色婷大香蕉| 亚洲视频丁香网va| 日本色婷婷| 久久新地址| 色九网| 123草逼网| 狠狠色噜噜| 九色1区视频在线| 亚洲日日日| 丁香8月手机综合| 96丁香六月婷婷蜜桃综合久久| 人妻精品一区二区三区| 伊人久久丁香五月91| 五月婷色色| 久热这里只有精品99re| 亚洲激情综合色站| 99亚洲精品| 五月婷婷久久综合| 色五月婷婷操逼| 婷婷午夜激情| 婷婷午夜精品久久久| 久久婷婷五| 天天天天操| 91丨九色丨白浆秘| 欧美这里只有精品| 狠狠第四色| 五月色影院| 26uuu.| 熟女少妇内射日韩亚洲| 丁香五月婷婷色播艳门照| 熟女人妻一区二区三区免费看| 丁香五月1页| 能看的AV| 99热精品在线播放观看| 色色色网站| 亚洲日韩26uuu| 91紱請| 色色网站免费| 99精品在线观看视频| 丁香五月色| 一婬一伦一区二区三区| 超碰九九热| 亚洲日本激情| 激情五月天激情五月天| 人人操婷婷| 亭亭五月丁香五月天激情| 日韩一级A片黄色| 97色天堂| 午夜亚洲国产精品av一区二区| 久久九九热视频| 久久婷婷五月天| 91狠狠综合久久| 婷香五月网在线| 色99视频| 天天综合亚洲| 久久视频婷婷视频| 国产又爽又猛又粗的视频A片| 日韩精品二三区| 激情久久肏屄视频| 中文字幕成人| 99在线观看视频免费| 久草婷婷网 | 99热99热在线| 五月婷婷av| 9久久精品| 最新五月天婷婷影| 国产av第一专区| 激情五月,色播五月| 婷婷四色五月| 五月J香蕉婷婷| 五月天色色婷婷| 五月婷婷五月天| 五月天色色网站| XX色综合| 亚洲五月天婷婷在线| 91网站黄| 亚洲愉拍99热成人精品| 99人妻碰碰碰久久久久视| 婷婷五月天在线观看av| 六月丁香婷婷大香蕉| 超碰人人干| 婷婷五月天成人在线视频| 国产精品18久久久| 婷婷六月激情丁香| 97超级碰碰碰| 思思热在线播放| 五月天激情视频网站| 丁香六月激情综合网| 婷婷色导航| 99热99这里有免费的精品| 午夜九九九九九九九九九九九九九| 深爱综合网| 久久久久人妻精选| 91人人操| 日韩AV免费看| 激情五月婷婷五月| 婷婷九月丁香| 日韩啪啪自拍| 超碰在线人妻| 婷婷激情六月视频| 深爱激情网婷婷| 亚洲无码影音| 亚洲综合激情五月久久| 激情六月天婷婷| 精品久久99码| 狠狠噪| 丁香九月婷婷| 六月亚洲| 去色色五月天| 五月丁香六月欧美综合网站| 99视频在线观看视频| 99热大香蕉| 青青久在线视频免费观看| 九色七七| 久久人妻伊人| 久久99热这里只有精品首| 九九人人看| 婷婷丁香红五月91C| 色播五月婷婷| 五月丁香基地| site:minyis.com| 亚洲色综久久五月| 99久久久久| 丁香五月Av| 蜜乳9188| 國語久久婷| 九九超日本| 久久久天堂国产精品女人| 天天干天天插| 精品久久99码| 五月丁香激情婷婷综合| bbwcuckold精品熟妇| 丁香9月婷婷| 精品亚洲国产成AV人片传媒| 开心激情综合| A网在线欧洲| 久操干| 色婷婷无吗| 9|人妻人人操| 黑人巨粗进入警花疼哭A片| 亭亭五月丁香五月天激情| 丁香五月开心婷婷| 婷婷五月丁香成人| 五月婷婷丁香伦理网| 丁香五月精品视频| 五月丁香婷中文| 7777国产盗摄农村女人| 福利视频在线播放| 色婷网| 精品三区影院| 久久这里只有国产| 色啪影院| 五月天婷婷影院| 色呦呦美女| 2017狠狠干| www.com亚洲网站在线免费| 少妇AB又爽又紧无码网站| 五月丁香色综合| 99色在线观看| 婷婷操逼| 热久精品| 狠狠久综合| 五月丁香婷婷AV天堂| 少妇丁香婷婷 | 丁香五月六月激情久久| 五月丁香啪啪综合网| 色五月婷婷开心| 天堂婷婷丁香六月网| 色色色97| 婷婷综合国产| 五月天综合网| 国产乱人偷精品人妻A片| 99精品无码| 97超碰人人操| 婷婷亚洲色| 大香蕉啪啪网| 久草热在线视频| 99ri在线视频| 精品夜夜澡人妻无码AV| 欧美私人家庭影院| 精品乱码久久久久| 日韩99视频| 99热这里只有精品中文字幕| 99视频只有精品| 亚洲va在线| 欧美综合激情五月丁香| 色的色综合| 狠狠色丁香五月婷巨| 五月丁香色| 精品视频这里只有精品| 色综合久久综合中文综合网| 91操熟女| 天天激情综合| www.久久99| 色婷婷婷av | 69五月天视频| 久久婷婷在线| 激情综合网五月婷婷| 天天干天天射综合网| 国产日日夜夜操| 婷婷丁香五| 色婷婷内射| 欧美丁香六月激情视频| 色情丁香五月天| 午夜婷婷五月天| 天天操夜夜肏| 色综合色综合色综合色综合| 五月天婷婷操逼视频| 色色色色色色网站| 99热这里只有免费精品| 天天干天天叉| 亚洲综合婷婷六月丁香五月| 99视频精品在线| www激情com| 天天久综合| 性爱网五月天| 色综合日日| 丁香五月天狠狠| 色婷婷狠狠| 成人国产欧美大片一区| 精品亚洲国产成AV人片传媒| 色在线免费观看| 色色狼人综合| 色色啊| 五月婷婷啪啪啪啪| 欧美精品啪啪| 久婷婷| 激情五月婷| 天天舔天天摸| 婷婷午夜激情| 八戒青柠影视剧在线观看| 欧美黑人巨大性生话| 丁香六月激情| 日本精品人妻无码77777| 人与禽A片啪啪| 碰碰碰91| 欧美色色干| 激情99。| 欧美熟女乱又伦| 色综合久久五月天| 五月激情六月宗合| 久久这里只| 婷婷色导航| 丁香五月婷中字在线| 欧美三日本三级少妇三99| 亚洲综合网激情小说| 国产精品扒开腿做爽爽爽A片唱戏| 婷婷91| 免费观看18视频网站| 亚洲天堂热| 91Chinese在线| 婷婷亚洲五月| 五月丁香六月在线欧美| 97人人操人人拍| 热久久婷婷| 九色无码| 一片AV片免费播放| 天天操中文字幕| 久久婷婷亚洲| 成人短视频在线| 欧美日韩一区二区三区四区| 丁香五月欧美成人| 婷婷狠狠操| 国产激情视频在线观看| 黄色中文字目| 色色综合网www| 色婷婷AⅤ| 六月婷婷日| 亚洲无码成人| 九九免费精品| 五月天成人在线| 9+1视频网址| 四月婷婷五月色综合| 亚洲永远av在线播放| 啪啪五月综合| 91a片爽| 色婷婷五月天无码视频| 99ri在线播放| 玖玖视频福利| 97碰 在线视频观看| 五月激情丁香啪啪| 五月婷婷色色爱| 99综合自拍| 中文字幕日韩成人| 黑人熟妇一区二区三区| 婷婷五月丁香青青草在线| 国产在线aaa片一区二区99| 天天综合色99| 激情五月天视频| 色婷婷a v| 久久婷婷丁香花综合网| 久热99热| 五月天伊人手机在线播放AV| 激情五月天综合网| 丁香五月激情综合| 国产AV网页| 丁香六月色情| 激情综合五月开心狠狠| 99色色网| 五月丁香网站| 成人丁香五月天| 日韩成人精品中文字幕电影| 六月丁香婷婷五月天| 婷婷五月色激情欧美激情| 久久大香蕉丁香| a69在线视频| 免费亚洲婷婷中文字幕| 日韩 mm 不卡| 色婷婷激情视频| 秋霞A V毛片| 啪啪五月综合| aⅤ79成人片| 国产资源91在线| 中国丰满熟女A片免费观| 久久久jd| 亚洲精品色色色| 五月婷婷丁香六月| 亚洲成人免费电影| 五月丁香婷婷成人综合网| 狠狠色综合网站久久久久| 日韩AV在线电影| 色了色综合| 久操操| 丁香婷婷色九月| 久99久热只有精品国产99| 啊V视频在线观看| 97色女人在线| 五月丁香六月欧美| 俺也去色| 99热插| 五月婷综合| 少妇水多A片太爽了| 激情婷婷五月亚洲| 99久热这里只有精品| 激情丁香六月| 这里只有精彩视| 九九亚洲| 超碰人人超碰| 五月激情婷婷综合| 婷婷五月丁香四射| 丁香五月成人论坛| 99热久| 秋霞A V毛片| 久操激情| 丁香六月激情四射| 99热只有这里有精品| 国产露脸150部国语对白| 久久久97| 天天日天天干天天操| 欧美一级a| 婷婷五月天视| 五月天婷婷免费| 色涩视频久久| 久热精品视频| 五月丁香狠狠爱婷婷综合| 青青热久久综合| 亚洲中文字幕av| 色色色色色综合| 色婷婷亚洲| 另类精品视频在线观看| 综合久久综合五月天婷婷| 色5月婷婷| 搡BBBB搡BBB搡18| 五月天色五月天| 97色五月婷婷在线| 婷婷五月丁香综合人妻| 四LLL少妇BBBB槡BBBB| 怡红院院久久| 99综合免费视频| 午夜丁香| 亚洲无线视频| 日韩欧美一道四区中文字幕| 久久久.COM| 欧美日综合| 国产免费AV在线| ′久久99一| 五月丁香六月综合激情| 丁香婷婷五月色成人网站| 激情综合网五月婷婷| 如何安全看伊人婷婷| 男女99免费视频| 丁香婷婷精品视频| 99亚州综合精品成人网| 久热这里这里有精品| 黄桃AV无码免费一区二区三区| 开心深爱五月天| 狠狠爱青青草| 五月婷婷片| 日本大逼91| 狠狠色狠狠操| 九九综合伊人| 久9热在线视频| 色色五月天丁香婷婷| 精品久久99| 色婷婷色99国产综合精品| 色爱综合网| 色五狠狠| 六月撸婷婷| 亚洲综合另类| 99视频在线观看视频| 欧美色色色色色色色| 欧洲综合视频| 亚洲综合另类| 五月天另类小说久久小说网| 久久久27操| 色婷婷六月| 亚洲亚洲激情| 97操女视频| 久久精品99久久久久久| 婷婷丁香视频在线观看免费| 桃色五月婷婷| 五月天狠狠色| 在线五月色播| 婷婷五月综合性爱| 99视频网址| 久久综合综合久久| 综合性爱网| 99热欧| 俺也去五月婷婷丁| 26uuuuuuuu国产| 97爱综合| 91综合色| 丁香五月天婷婷久久| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 丁香花社区av| 婷婷综合五月| 天天舔天天摸天天射| 久久婷婷色综合| 26UUU亚洲欧美| 4438激情网| 九色91国产| 九九热在线视频,| 丁香天堂夜| 99精品久久| 亚洲热热视频| 亚洲日本韩国| 黄色五月婷婷| 98色花堂98t.R| 激情图片99| 婷婷丁香五月天激情| 狠色狠色综合久久| 四虎成人精品永久免费AV九九| 97在线观视频免费观看| 97资源欧美日韩大香蕉超碰一区| 九九综合久久| 五月婷九月| 夜夜躁婷婷AV| 亚洲超碰在线| 熟美女麻豆| 日本精品久久久久中文字幕| 99热这里只有精品8| 深爱激情中文五月天av| 色色六月| 五月天大香蕉| 欧美激情-区二区三区| 婷婷九九色| 人妻激情综合| 在线五月色播| 一本久道综合99| www.99精品在线| 五月天电影网| 综合久久99| 伊人久热91| www.色婷婷.com| 天天拍久久| 大香蕉人人人| 九九亚洲天堂| 婷婷丁香六月| 99在线爽| 97超级碰碰碰久久久| 激情综合五月丁香| 天堂网啪啪| 亚洲丁香花色| 中文字幕五月久久婷婷| 日日躁夜夜躁狠狠久久AV| 五月天网站亭亭| 永久无码色| 百度4399有码精品V在线观看| 亚洲乱码日产精品BD| 丁香六月啪啪| 婷婷激情丁五月| 九九黄色网| 色99综合色88| 新97人人上人人| 熟女激情五月天 | 人人操大| 欧美25p| 婷婷丁香五月综合激情小说| www久| 香蕉97碰碰碰超视精品| 久久婷婷六月综合国际| 婷婷久久网| 色五月丁香五月| 日本色婷婷| 六月婷婷狠狠| 中文字幕久久婷九女同| 色婷婷呢狠禁久禁| 五月婷婷六月色| 九月色婷婷综合| 婷婷五月六| 婷婷五月丁香六月天亚洲综合| 欧美色播综合在线观看| 欧美男女婷婷| 久久99久久99久久99| 日本不卡一区二区三区| 久久五月天色婷婷| 久久人妻乱| 丁香五月亚洲| 五月天黄色激情小说| 囯产精品一品二区三区| 热九九精品| 91视频一起草| 97操| 9热网站| 1024日韩| 国产 亚洲 在线| 99思思| 日日色五月天| 99热日韩这里只有精品| 无码yw| 久久综合图片| 激情亚洲五月| 久久婷婷青青草| 久久久久久久久月丁| 婷婷丁香五月激情| 日韩aaaaa| 99热精品在线播放观看|