久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

ShardingProxy從原理到實戰(zhàn):分庫分表無縫接入指南

ShardingProxy從原理到實戰(zhàn):分庫分表無縫接入指南 第一次接觸ShardingProxy的人通常是被一句話吸引過來的它能把你拆散在多個數(shù)據(jù)庫節(jié)點上的表重新拼成一個邏輯上的“普通數(shù)據(jù)庫”業(yè)務方不用改一行SQL就能繼續(xù)按單庫的習慣去讀寫。做數(shù)據(jù)庫中間件這行久了會發(fā)現(xiàn)很多團隊從單庫單表演進到分庫分表后卡住的往往不是拆分規(guī)則本身而是“怎么讓一百多個應用實例無縫切換到新架構(gòu)”。ShardingProxy正好是解決這個接入問題的關鍵一環(huán)。這篇文章我從頭講透它的原理、配置、實戰(zhàn)部署和排坑經(jīng)驗全部基于真實環(huán)境踩過的坑總結(jié)出來適合正在做分庫分表架構(gòu)選型的開發(fā)、DBA以及被拆分后的查詢路由搞得頭疼的同學參考。1. 先搞清楚ShardingProxy到底解決了什么問題1.1 從單庫單表到分庫分表問題從哪來先聊一個最常見的演進路徑。系統(tǒng)剛開始上線時一張訂單表就夠用后來業(yè)務量漲了單表千萬級、上億級索引深了寫并發(fā)高了數(shù)據(jù)庫的CPU和IO開始報警。于是DBA把訂單表按時間或者按訂單號拆成多張表再往后單庫也扛不住干脆把不同的表散到多個數(shù)據(jù)庫實例上。這個動作做完存儲壓力確實緩解了但應用端的麻煩才剛剛開始原來一條INSERT語句現(xiàn)在要自己算該去哪張表原來一個JOIN要跨多個庫手工拼數(shù)據(jù)原來一個事務現(xiàn)在要面對跨庫事務的難題。如果這些邏輯全部寫死在業(yè)務代碼里那每接入一個需求都要重新改一遍SQL拼接邏輯而且不同服務的分片規(guī)則不一致之后團隊維護成本會迅速失控。市面上解決這個問題的方式無非三種第一種是在應用層封裝數(shù)據(jù)訪問層把分片路由做在代碼里第二種是引入數(shù)據(jù)庫中間件讓SQL先經(jīng)過中間件再路由到后端節(jié)點第三種是把整個數(shù)據(jù)庫直接換成一個原生分布式數(shù)據(jù)庫。ShardingProxy屬于第二種也是我這些年見過在兼容性、改造成本和穩(wěn)定性之間平衡得比較好的方案。1.2 ShardingProxy與ShardingSphere生態(tài)的關系很多人會把ShardingSphere和ShardingProxy搞混。簡單說ShardingSphere是一套完整的數(shù)據(jù)庫生態(tài)下面兩條核心產(chǎn)品線一條是ShardingJDBC做成輕量級Java客戶端以jar包形式嵌入應用另一條就是ShardingProxy做成獨立部署的中間件服務對客戶端而言它就是一個標準數(shù)據(jù)庫服務端。兩者的定位差異很直觀。ShardingJDBC像是給每個應用請了一位貼身管家它跟著應用進程走路由規(guī)則直接內(nèi)置在JVM里性能損耗低但每個應用都要引入對應的依賴、配置分片規(guī)則。ShardingProxy則像是樓下的前臺總機你只管把SQL交給它它負責轉(zhuǎn)給背后各個數(shù)據(jù)庫節(jié)點業(yè)務側(cè)完全感知不到分庫分表的存在。這種差異決定了它們的適用場景完全不同。新寫一個微服務明確規(guī)定從零開始我傾向于ShardingJDBC因為侵入可控、鏈路短但如果要接的是存量系統(tǒng)幾十個服務每個都改JDBC連接方式成本太高或者對接的是異構(gòu)語言比如PHP、Python、Go沒辦法直接復用Java端的ShardingJDBC那ShardingProxy幾乎是唯一現(xiàn)實的選擇。我實際遇到過幾個項目數(shù)據(jù)庫表都拆好了但業(yè)務團隊有Java有Go還有寫存儲過程的最后統(tǒng)一收口到ShardingProxy所有客戶端只改一個連接地址問題立刻變簡單。1.3 為什么選Proxy而不是JDBC模式每次做技術選型團隊里都會有人問既然ShardingJDBC性能更好為什么還要引入一個單獨的中間層這個問題我一般從三個維度來回答。從運維視角看ShardingJDBC的分片規(guī)則散落在每個應用進程里規(guī)則要調(diào)整時必須發(fā)版重啟幾十上百個實例同時變更是個災難ShardingProxy把規(guī)則集中在服務端DBA改配置文件后重啟單點即可控制力強得多。從團隊協(xié)作看分片規(guī)則本質(zhì)上是一種“數(shù)據(jù)基礎設施約定”放在Proxy層由DBA或基礎架構(gòu)組統(tǒng)一維護比指望每個業(yè)務開發(fā)都理解取模算法要可靠。從生態(tài)兼容看Proxy透明地實現(xiàn)了MySQL和PostgreSQL網(wǎng)絡協(xié)議意味著任何能用這兩種協(xié)議連接數(shù)據(jù)庫的客戶端工具、監(jiān)控系統(tǒng)、BI軟件都能直接復用。當然Proxy也有代價。多一跳網(wǎng)絡就意味著額外的幾毫秒延遲加上中間件的CPU和內(nèi)存開銷對延遲極端敏感的純交易場景需要壓測確認。我的真實感受是如果你做的是內(nèi)部系統(tǒng)、報表平臺、ToB應用或者是存量系統(tǒng)改造Proxy的優(yōu)勢遠大于這點性能損耗如果每個接口對單次查詢延遲都有硬性要求且團隊全是Java且愿意接受強侵入改造再認真考慮ShardingJDBC。沒有銀彈適合的才是對的。2. 部署前的關鍵概念邏輯庫、物理庫、綁定表與分片算法2.1 邏輯庫、邏輯表與物理節(jié)點剛接觸ShardingProxy時最容易糊涂的就是配置里那一堆“邏輯”和“物理”的概念。我用最簡單的話解釋邏輯庫是客戶端看到的庫邏輯表是客戶端看到的表物理庫和物理表才是真正存在數(shù)據(jù)庫里的東西。比如你在Proxy里定義一個邏輯庫叫sharding_db客戶端執(zhí)行USE sharding_db然后查詢SELECT * FROM t_order WHERE order_id 1001。Proxy拿到這條SQL后先根據(jù)order_id的分片算法算出這條數(shù)據(jù)在物理表t_order_1上再根據(jù)庫分片規(guī)則算出它在物理庫ds0上于是真實執(zhí)行的是SELECT * FROM ds0.t_order_1 WHERE order_id 1001。整個過程對客戶端完全透明。這個“邏輯和物理分離”的設計價值在于它解耦了業(yè)務代碼和存儲拓撲。今天訂單表拆成4張明天拆成8張只需要改Proxy的配置業(yè)務SQL里的表名永遠叫t_order。我在項目里經(jīng)常開玩笑說分片規(guī)則是DBA和中間件之間的秘密業(yè)務開發(fā)不該也不需要知道。配置里的actualDataNodes就是用來告訴Proxy“這實這些物理表散落在哪里”的字段格式是ds0.t_order_0, ds0.t_order_1...也可以用行表達式簡寫成ds$-{0..1}.t_order_$-{0..3}。2.2 分片策略標準、復合與行表達式的實際使用分片策略是整個配置的重頭戲它決定了SQL會被路由到哪幾張物理表。常見的類型有三種標準分片、復合分片和HINT分片。標準分片是使用最多的場景它針對一個分片鍵做路由比如order_id對4取模或者按月份分表。配置時通過shardingColumn指定分片鍵在shardingAlgorithms里定義算法類型INLINE是最常用的行表達式算法比如t_order_$-{order_id % 4}表達的就是按訂單號對4取模落到4張表中。復合分片適合需要用兩個字段一起決定路由的場景比如先按用戶ID分庫再按訂單時間分表這時候需要實現(xiàn)一個自定義的復合算法類。HINT分片則是在SQL里完全不帶分片鍵時強制指定走哪個節(jié)點適合一些特殊的管理查詢。選算法時我的建議是能用取模就用取模模數(shù)按未來兩年數(shù)據(jù)增長預估再留出一倍余量。按時間分片適合歸檔類數(shù)據(jù)比如按月分表然后定期把歷史表遷移到冷存儲按用戶維度分片適合C端應用因為絕大部分查詢都是圍繞某個用戶展開的。記住一個要點分片鍵的選擇本質(zhì)上是和業(yè)務查詢模式強綁定的不是DBA隨便拍腦袋定的最忌諱的就是選了一個業(yè)務上根本不作為查詢條件的字段結(jié)果每條SQL都變成全路由廣播。2.3 綁定表與廣播表被低估的兩個配置分庫分表后跨節(jié)點JOIN是最讓人頭疼的問題。比如t_order和t_order_item都按order_id分片如果分片規(guī)則完全一致那么應該把兩個表配置成綁定表。綁定表的意思是兩個表在路由時會強制使用相同的分片路由結(jié)果t_order查了ds0.t_order_1t_order_item也只會去ds0.t_order_item_1查JOIN變成了單庫內(nèi)的普通JOIN不需要中間件做內(nèi)存聚合。廣播表則適合那些數(shù)據(jù)量很小、幾乎每個分片節(jié)點都需要用到的表比如字典表、配置表、省份城市表。這類表在每個物理庫里都存一份全量數(shù)據(jù)Proxy在寫入時會自動廣播到所有節(jié)點查詢時任選一個節(jié)點即可。配置方式是在rules里用!BROADCAST聲明兩張表之后應用完全感知不到它的存在。這兩個配置看起來不起眼但在實際并發(fā)場景里作用極大。我看到過太多團隊沒配綁定表結(jié)果一次本來很簡單的聯(lián)表查詢被拆成幾十次子查詢中間件內(nèi)存被打爆然后懷疑Proxy性能不行的案例。歸根結(jié)底中間件不是萬能加速器它只是在SQL路由上幫你做了正確的事數(shù)據(jù)分布設計不合理再好的中間件也救不回來。3. 實戰(zhàn)部署從下載到跑通第一條分片查詢3.1 環(huán)境準備與安裝包選擇說再多原理不如親手跑一次。這里我用一個模擬訂單場景來做實戰(zhàn)演示兩個物理庫ds0和ds1每個庫里有4張訂單表t_order_0到t_order_3通過Proxy對外暴露成一個邏輯庫sharding_db。操作系統(tǒng)準備一臺Linux我這邊測試用的是CentOS 7其他主流發(fā)行版沒區(qū)別提前裝好JDK 8。因為ShardingProxy本身是JVM進程所有數(shù)據(jù)庫驅(qū)動已經(jīng)內(nèi)置不需要額外裝客戶端。從ShardingSphere官網(wǎng)下載頁找最新穩(wěn)定版二進制包如果本地沒有就直接用內(nèi)網(wǎng)鏡像包名大致是apache-shardingsphere-xxx-bin.tar.gz。這里提供一個選版本的原則不追求最新選已經(jīng)發(fā)布超過半年的穩(wěn)定版本社區(qū)的issue和坑基本都被踩平了文檔也最齊。解壓后目錄結(jié)構(gòu)很清晰bin目錄是啟停腳本conf目錄放所有配置lib目錄是各種依賴jar包。整個中間件的設計思路是“配置驅(qū)動”你要改的一切都在conf下完成。我第一次部署時最不適應的一點是它沒有一個交互式控制臺讓你敲命令建庫建表一切都要通過YAML配置來聲明改完重啟進程生效。理解了這個模式之后反而覺得它適合自動化運維配完直接走配置管理流程發(fā)布即可。3.2 配置server.yaml賬號權(quán)限與全局參數(shù)conf/server.yaml是Proxy自身的基礎配置相當于這個“虛擬數(shù)據(jù)庫”的全局總控。最核心的是用戶認證信息這里決定了客戶端用哪個賬號密碼能連上來。rules: - !AUTHORITY users: - root%:root - sharding%:sharding provider: type: ALL_PERMISSIONS props: max-connections-size-per-query: 1 sql-show: true check-table-metadata-enabled: falseroot%:root的意思是用戶名root允許任意主機連接密碼是root。%表示來源IP不限生產(chǎn)環(huán)境建議改成具體網(wǎng)段。sql-show: true會把每條經(jīng)過Proxy的SQL打印到日志里排障時非常好用但生產(chǎn)環(huán)境建議關掉否則日志量會非??捎^。max-connections-size-per-query表示一次查詢最多允許在多少物理庫上同時執(zhí)行1表示每個查詢路由到單庫執(zhí)行如果路由到多庫則串行這個參數(shù)直接關系到并發(fā)和連接占用后面性能章節(jié)再展開講。需要注意一個容易踩的坑如果下面想配合讀寫分離還需要在server.yaml里配置!TRANSACTION類型的全局事務規(guī)則如果不想用分布式事務保持默認即可。啟動前可以先用bin/start.bat這個腳本在Windows環(huán)境做快速驗證線上還是用bin/start.sh。3.3 配置config-sharding.yaml定義數(shù)據(jù)源和分片規(guī)則重頭戲在conf/config-sharding.yaml這里要定義邏輯庫、物理數(shù)據(jù)源、分片規(guī)則三大部分。先看數(shù)據(jù)源配置databaseName: sharding_db dataSources: ds0: url: jdbc:mysql://127.0.0.1:3306/demo_ds0?serverTimezoneUTCuseSSLfalse username: root password: root ds1: url: jdbc:mysql://127.0.0.1:3307/demo_ds1?serverTimezoneUTCuseSSLfalse username: root password: root注意兩個細節(jié)。一是連接串里的serverTimezoneUTC必填否則連接MySQL 8.x的時候會報時區(qū)錯誤二是useSSLfalse內(nèi)網(wǎng)環(huán)境沒必要做SSL握手加了這個參數(shù)能省掉一層握手耗時。模擬環(huán)境里我會把ds0和ds1配置成兩個真正的MySQL實例如果只有一臺機器可以用兩個不同端口模擬。接著是分片規(guī)則這是整個配置的靈魂rules: - !SHARDING tables: t_order: actualDataNodes: ds$-{0..1}.t_order_$-{0..3} tableStrategy: standard: shardingColumn: order_id shardingAlgorithmName: t_order_inline keyGenerateStrategy: column: order_id keyGeneratorName: snowflake shardingAlgorithms: t_order_inline: type: INLINE props: algorithm-expression: t_order_$-{order_id % 4} ds_inline: type: INLINE props: algorithm-expression: ds$-{user_id % 2} defaultDatabaseStrategy: standard: shardingColumn: user_id shardingAlgorithmName: ds_inline這里解釋一下每一行的作用。actualDataNodes聲明了t_order這個邏輯表對應的物理表位置ds$-{0..1}表示ds0和ds1兩個庫t_order_$-{0..3}表示每個庫里的4張物理表一共8張表。tableStrategy配置表級別的分片策略按order_id對4取模決定數(shù)據(jù)落在哪張物理表。defaultDatabaseStrategy配置庫級別的分片策略按user_id對2取模決定數(shù)據(jù)落在哪個物理庫。有個設計細節(jié)值得留意庫分片鍵我選了user_id而不是order_id。因為訂單場景里絕大部分查詢都是“查某個用戶的訂單”用user_id做庫分片能讓同一用戶的所有訂單都落在同一個物理庫后續(xù)查用戶訂單列表時只需要路由到一個庫不需要跨庫聚合。這是從業(yè)務查詢模式反推分片鍵的典型案例遠比“隨便找個字段取?!币煽?。3.4 啟動、建表、驗證查詢配置寫完后先確認兩個物理庫里已經(jīng)建好對應的物理表。ShardingProxy不會幫你自動建表需要你提前在ds0和ds1中分別執(zhí)行建表SQL把所有t_order_0到t_order_3都建出來。很多新手在這里栽跟頭Proxy配置的是8張實際表結(jié)果物理庫里只有一張t_order一查就報“表不存在”。啟動進程cd /opt/shardingsphere/bin ./start.sh tail -f ../logs/stdout.log看到類似ShardingSphere-Proxy memory mode started successfully的日志說明啟動成功。默認監(jiān)聽3307端口這個設計是故意的就是為了避開MySQL默認的3306端口防止連錯。如果用防火墻記得放行3307。然后用任意MySQL客戶端驗證mysql -h127.0.0.1 -P3307 -uroot -proot進入后執(zhí)行USE sharding_db再執(zhí)行一條插入和一條查詢。如果開啟了sql-show你會在日志里看到Proxy自動改寫后的SQL比如INSERT INTO t_order ...被改寫成對ds0下的t_order_1執(zhí)行這就是透明路由生效的證據(jù)。我第一次跑通時最深的感受是從外部看它就像一個安裝完就能用的MySQL完全不需要業(yè)務方理解后臺的復雜度。這種“低門檻接入”才是Proxy產(chǎn)品設計的核心價值。4. 讀寫分離與分布式事務讓Proxy更貼近生產(chǎn)4.1 讀寫分離配置與主從延遲問題真實的業(yè)務系統(tǒng)基本不會只用一臺數(shù)據(jù)庫主從架構(gòu)是標配。ShardingProxy在同一個配置體系里支持讀寫分離。在config-readwrite-splitting.yaml里定義邏輯數(shù)據(jù)源把寫庫和讀庫的關系告訴ProxydatabaseName: readwrite_splitting_db dataSources: write_ds: url: jdbc:mysql://127.0.0.1:3306/write_db username: root password: root read_ds_0: url: jdbc:mysql://127.0.0.1:3307/read_db username: root password: root rules: - !READWRITE_SPLITTING dataSources: readwrite_ds: writeDataSourceName: write_ds readDataSourceNames: - read_ds_0 loadBalancerName: round_robin loadBalancers: round_robin: type: ROUND_ROBIN使用的時候這個邏輯數(shù)據(jù)源readwrite_ds本身也可以繼續(xù)參與分片配置也就是說讀寫分離和分庫分表可以疊加使用。生產(chǎn)環(huán)境中常見的問題是“主從延遲”寫完主庫立刻去查數(shù)據(jù)還沒同步到從庫讀到舊數(shù)據(jù)。解決方案通常是在Proxy上層加一個強制路由提示或者業(yè)務層對剛寫完的數(shù)據(jù)做特殊處理。ShardingProxy可以通過Slave選主庫強制走寫庫執(zhí)行具體實現(xiàn)依賴SQL解析器的注釋透傳能力。我的建議是對一致性要求極高的場景不要依賴讀寫分離走寫庫最穩(wěn)妥報表、列表這類讀多寫少的業(yè)務才適合把只讀流量打到從庫。4.2 分布式事務類型與取舍分庫分表之后跨庫事務是個繞不開的坎。原來在單庫里的一條事務如果涉及到兩個物理庫普通的數(shù)據(jù)庫事務已經(jīng)無能為力了。ShardingProxy提供兩種方案XA事務和Seata柔性事務。XA是強一致的典型代表它的思路是事務管理器統(tǒng)一協(xié)調(diào)所有分片節(jié)點先預提交再統(tǒng)一提交保證要么全成功要么全失敗。配置方式在server.yaml里聲明事務類型為XA即可。XA的優(yōu)點是對業(yè)務透明接入成本低缺點是并發(fā)性能損耗比較大因為事務期間所有節(jié)點都要持有鎖等待協(xié)調(diào)者決定最終結(jié)果。Seata柔性事務則走的是最終一致路線業(yè)務上先做本地事務通過undo_log記錄反向操作遇到異常時反向補償回滾。Seata方案并發(fā)能力更強但需要額外部署Seata服務端同時業(yè)務代碼中需要引入相應的注解配合。我個人的選型經(jīng)驗是金融交易、賬戶類、庫存類這些強一致場景上XA寧可性能差點也不能出錯積分、日志、通知這類可以容忍短暫不一致的場景上Seata吞吐量高得多。最理想的情況是盡量從業(yè)務設計上避免跨庫事務比如把強關聯(lián)的表按照相同分片鍵放在同一物理庫事務就退化為單庫事務這是最高效的“分布式事務優(yōu)化方案”。4.3 多分片鍵與自定義算法擴展標準取模算法覆蓋了大多數(shù)場景但總有些業(yè)務需要更復雜的路由邏輯。比如訂單系統(tǒng)一天的數(shù)據(jù)量差異非常大大促期間可能是平時的幾十倍單純?nèi)∧е旅總€分片數(shù)據(jù)不均衡。這時候可以自定義分片算法。ShardingProxy的擴展機制基于SPI要做的是寫一個Java類實現(xiàn)對應的分片算法接口打成jar包放到lib目錄然后重啟Proxy。比如我可以實現(xiàn)一個結(jié)合“日期用戶ID末位”的復合分片算法每天的流量先按日分表再按用戶取模散到不同庫既能應對大促擴容單日表又能讓單日內(nèi)的數(shù)據(jù)分布均勻。這里要重點提醒自定義算法一旦上線后續(xù)想改路由邏輯會極其痛苦因為老數(shù)據(jù)已經(jīng)按照舊規(guī)則分布了。所以自定義算法在正式啟用前務必做充分的容量估算和回放測試。任何分片算法上線后都做“只讀增加、不輕易修改”的原則。5. 性能調(diào)優(yōu)與連接管理心得5.1 連接數(shù)與并發(fā)參數(shù)來自一場壓測的教訓之前幫一個團隊做過一次壓測場景是模擬1000個并發(fā)用戶同時查訂單。上線前測試環(huán)境一切正常一上生產(chǎn)就頻繁報Too many connections。查下來才發(fā)現(xiàn)問題出在Proxy和后端數(shù)據(jù)庫的連接數(shù)量匹配上。ShardingProxy本身面向每一個客戶端連接它還會根據(jù)SQL路由結(jié)果向后端數(shù)據(jù)庫發(fā)起連接。假如前端有100個連接每一條SQL同時路由到4個分片那么后端瞬間要建立400個連接。如果不限制max-connections-size-per-query后端數(shù)據(jù)庫的連接池直接被擊穿。我建議壓測前把max-connections-size-per-query設成1讓每個查詢路由到多個分片時串行執(zhí)行這樣后端連接數(shù)始終被控制在合理范圍。當然這會犧牲一些查詢速度所以這個參數(shù)應該在理解了“并發(fā)查詢數(shù)×單查詢節(jié)點數(shù)”的關系后根據(jù)后端數(shù)據(jù)庫能承受的連接總量來折中設置。后端MySQL的max_connections也要同步調(diào)大同時Proxy的JVM堆內(nèi)存建議至少給4-8G具體取決于路由聚合時的數(shù)據(jù)量。5.2 SQL解析開銷與日志陷阱很多人問Proxy會不會成為性能瓶頸答案是它確實有開銷但比大多數(shù)人想象的小得多。SQL解析、路由計算、結(jié)果合并這些操作都是在JVM內(nèi)存中完成的單核處理幾萬條簡單SQL沒什么問題。真正的性能殺手有兩個一個是大結(jié)果集跨分片合并另一個是日志??绶制酆吓判蜻@種SQL比如LIMIT ORDER BYProxy需要把每個分片查到的數(shù)據(jù)全部拉到中間件內(nèi)存排序后再返回前端。如果單頁數(shù)據(jù)量太大內(nèi)存會直接飆高。我遇到過一個案例一張表分片后沒做任何優(yōu)化前端做分頁查詢每頁100條但Proxy內(nèi)存持續(xù)不釋放原因是Proxy為了排序要把所有符合條件的數(shù)據(jù)都加載進來。解決辦法是業(yè)務SQL加上明確的分片鍵條件讓路由收斂到單分片或者用NoSQL思路做寬表冗余避免跨分片聚合。日志問題說起來很基礎但很多人會中招sql-show: true在生產(chǎn)環(huán)境跑了一周發(fā)現(xiàn)日志文件幾個GB磁盤滿系統(tǒng)卡死。教訓就是這個參數(shù)只適合聯(lián)調(diào)和測試環(huán)境生產(chǎn)必須關掉實在要監(jiān)控可以通過接入Prometheus和JMX監(jiān)控指標來做。5.3 減少不必要的路由廣播可能遇到的另一個性能問題是SQL里明明帶了分片鍵但Proxy還是做了全路由。有一次排查慢查詢發(fā)現(xiàn)SQL里的分片鍵被包在函數(shù)里了比如WHERE DATE_FORMAT(create_time, %Y-%m-%d) 2024-01-01雖然create_time是分片鍵但經(jīng)過函數(shù)處理后Proxy無法提取分片鍵值只能廣播到所有分片。這不是Proxy的bug而是SQL規(guī)范化帶來的天然限制。想讓路由精準命中分片SQL里要“裸用”分片鍵中間不要套函數(shù)、不要做類型轉(zhuǎn)換。這是我多年實戰(zhàn)排障中反復驗證過的規(guī)律屬于典型的“中間件替你干活但你得遵守它的規(guī)則”。6. 常見問題與排查技巧實錄6.1 啟動失敗類端口、配置、驅(qū)動端口被占用是最常見的啟動失敗原因。ShardingProxy默認3307端口如果被其他進程占了啟動日志會報Address already in use。檢查端口占用后要么殺掉舊進程要么修改server.yaml里的port配置。配置語法錯誤比端口問題更隱蔽。YAML文件對縮進極其敏感尤其是rules節(jié)點下的- !SHARDING這樣的標簽少一個空格都會導致啟動失敗。我習慣在本地用支持YAML校驗的編輯器先格式化一遍再上傳能省下大量排錯時間。MySQL驅(qū)動不兼容是另一個高頻問題。如果連的是MySQL 8.xProxy內(nèi)置的驅(qū)動版本必須匹配否則會出現(xiàn)Unable to load authentication plugin caching_sha2_password之類的報錯。解決辦法是把用戶認證方式改成mysql_native_password或者升級Proxy到新版。PostgreSQL場景一般沒這個問題驅(qū)動內(nèi)置得比較完善。6.2 查詢報錯類邏輯庫不存在、表不存在啟動成功后客戶端連不上最常見的原因是連接時沒帶邏輯庫名。如果連接串寫的是jdbc:mysql://127.0.0.1:3307/而不是/sharding_dbProxy不知道你要用哪個邏輯庫直接報錯。這和原生MySQL不太一樣因為Proxy可以同時掛載多個邏輯庫必須明確指定。查詢時報“表不存在”先確認物理庫里是否真的建了對應的物理表。Proxy只負責路由不負責幫你建表。我見過不止一次配置里寫了t_order_$-{0..3}但物理庫只建了t_order_0一張表業(yè)務一查就炸。建議寫一個初始化腳本把所有分片表一次性建好順便做一次遍歷校驗。6.3 獨家避坑經(jīng)驗配置生命周期與灰度切換最后分享一個我特別想強調(diào)的經(jīng)驗ShardingProxy的配置變更至少在默認內(nèi)存模式下是需要重啟進程才生效的。重啟意味著所有在線連接會斷開對生產(chǎn)業(yè)務來說這是不可接受的。所以我的建議是把Proxy納入配置管理平臺變更時間窗選在業(yè)務低峰同時準備好回滾版本。如果項目對可用性要求極高可以考慮ShardingSphere后續(xù)版本里支持的集群模式把配置放到注冊中心統(tǒng)一管理配合管理端做動態(tài)生效。不過引入這個方案本身也增加了部署復雜度建議在資源允許的前提下再上。另外接入Proxy之前務必先在測試環(huán)境做一輪全量SQL兼容性測試重點覆蓋子查詢、多表JOIN、批量INSERT、分頁排序這四類SQL。它們是最容易觸發(fā)路由異常和結(jié)果合并bug的場景。把這個測試做扎實上線后至少能躲掉80%的坑。6.4 我常用的排障路徑遇到問題我會按照“連接層→路由層→執(zhí)行層→合并層”的順序來定位。連接層看端口、賬號、防火墻路由層開sql-show看改寫后的SQL是否落在預期分片執(zhí)行層去物理庫手動執(zhí)行改寫后的SQL確認物理庫本身沒問題合并層看返回結(jié)果集是否和預期一致。這套路徑幫我解決過幾十個疑難問題比亂猜高效得多。寫到最后想補充的一句話ShardingProxy不是那種用完就能立刻感受到“快”的組件它的價值是讓分庫分表后的系統(tǒng)依然像一個普通數(shù)據(jù)庫一樣可被消費。我在多個項目里體會最深的一點是中間件只是工具真正決定架構(gòu)成敗的是你對業(yè)務查詢模式的理解以及是否提前規(guī)劃好分片鍵、綁定表、廣播表和讀寫分離的組合策略。先把這些基礎打牢再上手Proxy你會發(fā)現(xiàn)很多問題不需要靠文檔看一眼配置就能想明白原因。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲制服aⅴ中文字幕| 蜜桃午夜视频一区二区 | 日韩人妻一区二区| 婷婷99狠狠| 大香蕉日亚洲日本亚大| 国产 无码 一区二区| 精品人妻视频一区二区三区蜜桃视频| 立川理惠被中出无码| 欧美午夜精品久久久久久3D| 在线免费观看高清无码视频| 天天透伊人| 射久久| 五月丁香综合| 热热色91| 久久久久久久久久久久久久9999| 精品无码久久久久久久杏吧| 亚洲精品蜜桃久久久一区二区三区| 欧美一级二级三级| 狠狠操狠狠| 一区二区视频在看| 97精品国产97久久久| 蜜桃久久一区二区| 伊人青青一区成人视频在线观看区| 好爽视频在线观看视频| 免费看美国人人爽,人人操 | 亚欧日韩成人| 伊人嫩草| 日韩欧亚太美不卡| 天天视频网站黄| 青青草色情网站视频| 无码直播久久久| 97国产色图| 1769一区二区| 亚洲色婷婷综合久久久久中文| 91久久久久久久| 97干在线视频| 久久夜夜夜夜| 久久精品国产亚洲AV成人直播| 久久久国产护士丝袜美腿一| 国产蜜臀精品一区免费尤物| 日韩成人精品| 欧美色图99| 国产农村妇女一区二区| 久久直播国产| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 日韩激情啪啪啪| 超碰综合色| 一个人免费HD91视频| 玖玖久久久| 美女在线H91| 日本成人A片免费看| 精品人妻视频一区二区在线播放 | 国产精品 久久久精品一牛| 97精品综合久久网| 99热欧美| 久久性生大片免费观看性| 蜜桃色院一区久久 | www. 男人天堂成人在线| 老司机老司机午夜影院| 日韩大香蕉| 午夜福利区| 亚洲欧洲国产综合av| 91人妻人人澡人人爽人人精品| 北条麻妃99精品青青久久| 高清无码一区二区三区| 麻豆天美一区二区| 亚洲交换| 亚洲性猛交| 五月色综合| 中国一级特黄大片护士| 综合第一页| 日韩少妇在线视频| 欧美日韩淫加| 激情五月天综合网| 青娱乐亚洲自拍| 超碰色综合| 曰本特级特黄特色黄色A级网站高清在线免费看| 日韩AV电影网站| 国产AV激情无码久久无码| 大鸡巴久久| 久久久久9999妇女| 日本三级韩三级99久久| 国产成人在线观看综合| 黄片qw| 欧美精品97| 天天爱综合网| 蜜桃狠狠色伊人亚洲综合 | 日韩色| 在线情色电影 91大 | 免費人妻夜夜爽天天爽爽一区| 亚欧无码在线| 国产在线观看91精品一区| 亚洲人妻精品一区二区| 欧美丝袜91| 亚热日本熟女| 久草在| 农村妇女精品一区二区| 伊人五月天青青草婷婷| 旡码电影特区| 嗯啊不要在线| 99精品热| www色婷婷| 欧美一级久久久久久久大片动画| 婷婷色色五月天福利| 精品无人区麻豆乱码1区2区图片| 99精品高潮| 天美欧美国产| 骚逼一区二区| 久久鲁夜| 亚洲视频二区| 国产又粗又长的视频| 国产第二页| 中文字幕久久精视频久久大全| 久久精品免费| 嗯嗯啊啊操死我| 蜜桃色色网站视频三区| 精品久久久久久亚洲| 成人午夜视频免费播放| 91操人视频| 爱媛媛久久国产福利| 无码国产Av| 韩三级a视频在线观看| 日本成人在线不卡一区二区三区| 丰满人妻一区二区三区| 蜜臀一区二区三区在线| 看免费一级在线播放毛片| 97超碰人人操人人操| 国产毛片片精品天天看视频| 亚洲国产ⅴ高清在线观看| 国语对白露脸XXXXXX| 在线视频免费观看午夜| 成人精品久久久午夜福利| a片 xxxx受爽视频| 试看日韩黄片| 日韩免费大片一级播放| 国产精品一级毛片不卡视| 视频国产精品未满十八禁止在线观看| 欧美少妇性爱网站| 久综合网| 精品国产乱码久久久久久久久1| 日韩人妻操B| 75大香蕉| 97亚洲中文| 人妻一区二区三区四区视频| 亚洲中文一区二区三区| 色色色热| 人人超碰在线观看黄| 亚洲熟女偷拍在线观看| 人妻丝袜二区| 摸奶性爱视频网站在线免费播放| 韩国成人精品久久久免费看| 国产女性无套 免费观看| 久久性视频| 天天添天天干电影| 大香蕉之青青草原| 俞拍久久国应视频| 樱花蜜乳av| 日本性爱少妇| 蜜臀久久99精品久久久久久久久| 91少妇香蕉久久精品| 久久华人网| 欧美亚洲首页| 豆花视频操逼网址| 色婷婷五月综合激情中文字幕| 丁香五月影院| 在线亚洲丝袜视频网站| 国产AV中文| 黄片视频,下载| 高清在线偷拍自拍视频| 亚洲情色一区综合| 我想要啊 啊 啊| 久久9久| 亚州免费啪啪视频| 东京热亚洲一区二区| 成人老鸭窝人人在线视频| 中文一区在线日| 中文字幕制服诱惑| 日韩人成网站在线播放| 青青国产精品在线| 女上位精品在线| 人妻少妇久久中文字幕一区二区 麻豆| 午夜激情成人在线观看| 亚洲天堂一区二区久久| 亚洲宅男天堂| 激情五月婷| 日本不卡三级网在线播放| 女生自91网站| 91 天天综合| 最新无码国产| av国产无码| 少妇天堂网络| 97狠狠| 欧美日韩性爱电影在线| www.超碰在线| 九九九九九九九九九五码| 97在线视频观看免费| 乱抡国产91| 大香蕉综合在线| 欲射影视| 88xx成人精品视频| 美女尤物福利视频| 亚洲第一视频 欧美风情 日韩| 国产亚洲色停停久久99精品91| 久久一区二区三区入口| 韩国国产欧美情侣视频在线| 国产色产精品在线观看| 国产福利第一视频| 国产热av| 无码av永久免费专区网站| 91精品电影18| 久久岛国| 欧美极品色| 91老熟妇| 亚洲色吧网| 最新无码国产| 日韩在线视频1234| 超碰久超碰久| 99热精品免费| 91n欧美| 欧美啪啪女女| 久久精品综合| 日韩丰满熟妇| julia中文字幕在线观看| 国产成人亚洲精品无| 狼人久草| 999精品女人| 久热99| 午夜噜噜噜| 精品区国产区一区二区三区| chaopen97久久| 51一区二区三区| 国产欧美黑人丰满在线| 国产AV久久野战精品| 亚州春色| 午夜福利精品| 蜜乳av一区二区三区| 國產尤物AV尤物在線觀看| 久久国语| 国产自偷自拍一区| 夜夜爽夜夜操| 91视频观看网站| 亚洲黄色视频在线观看视频| 亚洲综合一| 日本一区二区做爱的视频| 超碰 国产熟女精品一区| 欧美日韩精品一区二区三区高清| 日韩色图 一区二区| 中文字幕精品一区二区精| 乱码人妻一区二区三区| 女人爽到高潮潮喷18禁网站| 亚洲图片小说欧洲| 超硑97精品| 大香蕉黄色一级片免费看| 午夜后入| 噜噜吧,噜噜色,噜噜| 3P丝袜熟女 色综合| 91蜜臀在线久久久久| 天天看精品动漫视频一区| wwe 天天干.com| 天天日天天搞天天干| 亚洲综合贴图91| 丁香六月东京热| 天天欧美| 亚洲精品欧洲精品| 这里只有精品视频在线| 五月丁香六月综合缴清无码| 欧美偷偷网| 亚洲色图大香| 久久久久久一日韩字幕无码| 高精欧美色| 国产丝袜美女诱惑| 久久社区一区二区三区| 少妇熟女一区二区三区| 久久蜜色情在线视频xxx免费观看| 日韩人妻 中文字幕| 久热精品在线| 欧美熟妇操操视频| 国产伦精品免编号公布| 久久高清欧美国产| 日韩欧美亚洲自拍偷拍| 欧美精品,四区。五区| 午夜精品99久久久久传媒| 精品毛片av一区二区| 欧美性高潮在线| 亚洲欧美国产中文字幕| 97福利视频| 在线观看成人性爱免费小视频| 日韩在线观看AV| 亚州成人a∨| www黄片免费看com| 操逼网站网站| 久久爱97| 老鸭窝日丰县女人| 亚洲精品蜜桃久久久久久久| 97AV爱| 日本色色色视频| 中文字幕丰满子伦无码专区在线视频最新| 天天综合网亚洲综合网| 欧美中字二区| 97视频在线免费看| 日产狠狠干| 黑人操一区二区| 国产午夜精品理论片a大结局| 国内外毛片在线观看| 亚洲第一页欧美| 蜜臀国产AV中文字幕| 高清无码 国产精品| 国产少妇与亚洲av| 国产精品一区av在线| 少妇的嫩逼图片| 日韩精品电影| 日韩精品熟妇| 国产伦精品免编号公布| 亚欧高清在线| 中文字幕国产| 人妻丰满熟妇一区二区三| 久这精品中文在线观看视频| 动漫av中文| 97高清啪啪| 婷婷四五区| 婷婷五月天成人| 亚洲欧美国产其他二区| 日韩性爱免费视频在线网站| 伊人久久在线视频观看| 八戒午夜福利理论片| 日本不卡一区| 精品免费视频国产一区| 蜜臀久久99精品久久久久| 东北女人高潮视频| 精品夜夜澡人妻无码AV| 天天92av| 91天天综合| 600国产精品视频| 97在线视频观看免费| 久久久国产护士丝袜美腿一| 蜜臀久久精品久久久久视频| 国产AV人人夜夜澡人人爽麻豆| 91国产美女丝袜足交精品视频 | 亚欧美综合网。| 中文字幕片| 人人爽夜夜操| 老熟妇综合| 日本A级视频| 欧美丝袜激情| 性爱欧美五月| 狠狠爱夜夜干| 欧美啪啪色吧在线| 久热伊人| 91麻豆va国产精品| 精品一区二区亚洲国产| 人妻少妇av在线观看| 亚洲砖码砖专无区2023| 少妇滛荡视频| 一线黄色免费性爱片| 青青操在线亚洲视频观看欧美在线 | 亚洲操人| 综合色99| 鲁鲁色综合网| 啊啊啊在线观看免费视频| 欧美另类自拍 | 嗯~啊~快点 死我视频免费看网站| 婷婷五月天无码| 日本欧美m v精品网站加| 无码九九九九| 久久久久久久精| 一区二区三区免费视频入口| 男人的天堂午夜av| 亚洲国产高清福利视频| 天天插天天插| 国产精品视频| 亚洲图片视频小说| 97色亚洲| 口爆吞精在线观看| 亚洲色堂免费视频| 嗯,啊。舔我逼| 日天天九九天堂666| 97天堂| 国产精品永久免费10000| 国产精品女久久久久av爽| 日本一级性爱| AV天堂电影网| 屁股久久久久久久久| 熟妇人妻丰满久久久久久久无码 | 国产精品爆乳懂色蜜乳| 国产成人自拍视频在线| 日本免费不卡二区| WWW美腿丝袜香蕉中文| 99av| 日本黄 R色 成 人网站| 乱色视频中文字幕| 800zy一区二区| 夜夜青青无码影院| 黄片免费日韩| 不卡免费av在线播放| 97免费在线视频在线观看| 91国产美女丝袜足交精品视频| 热久久无毒不卡| 久久久9999| 操逼操逼视频操逼| 天美av在线观看| 少妇内射视频| 家庭乱伦国产精品| 久久黄黄| 91欧美丝袜| 东京热一区二区中文字幕| 激情综合网五月婷婷五月天| 四虎影库国产精品免费| 日韩欧美三级| 在线A日本| 欧美人妻精品| 97人人夜| 一本一道vs波多野结衣| 日韩天堂av电影在线观看| av橘色网站| www.av在线视频| 亚洲人精品久久久喷水| 久久精品噜噜噜成人看免欧美大片| 在线αⅴ| 日韩精品区二区三区不卡| 色哟哟精品1精品2| 天堂俺去俺来也www久久婷婷| 天天综合AV| 中出91视频| 久久精品毛片免费不卡| 日逼五月天| 大色综合| 欧美夜夜狠| 日本道人妻久久久在线不卡色视频| 26uuu性| 欧美超碰96| 91久久久亚洲| 日本天天人人狠狠在线日美女 | 八人操人人摸人人看| 久久超碰、| 青春草莓视频在线观看网址| 东京太热久久久| 97这里有精品| 五月丁香在线| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 精品人妻一区二区三区四区| 日本色色色视频| 天美传媒在线一区| 99国产在线 精品 视频| 国产二区三区粉嫩在线| 亚瑟国产精品久久无码| 在线观看A啊啊啊| 囯产精品久久久久久久久久梁医生| 九九热免费视频| 亚洲色婷婷综合久久久久中文| 97超碰国产精品| 性高潮久久久| 全球成人中文在线| 大香交| 蜜臀操逼黄色视频操的好爽| 搡老女人老91妇女熟女| 亚洲成a人片在线观看中文!!!| 97天天操天天干| 日逼逼免费看| 97网址97| 日韩婷婷| 亚洲网站一区二区在线| 亚洲综合另类欧美久久久| 99久久亚洲精品无码毛片潘甜甜| 自拍丝袜美腿人妻| 丁香六月激情| 国偷自 一区| 亚洲五月婷婷| 精品视频在线观看| 久久久99999久网站| 粉嫩不卡一区二区性爱| 日本大香蕉综合网| 亚洲精品欧美专业| 激情综合二| 亚洲天在线| 国模一区二区三区| 老熟女乱伦一区| 亚洲熟女乱色一区二区三区久久久| 国产色精品午夜大片| 美女好片色日本| 久久欧美1卡2卡3| 黄色视频60分钟| 偷拍亚洲情色| 天天干一区二区| 国产av波波国产精品| 欧美日韩亚洲少妇寂寞影院正在播放 | 日本男人插女人的逼黄色| 97人人夜夜精品视频| 97超色| 在线 制服丝袜中出 人妻| 综合久久少妇中文字幕| 国产第11页| 99热精品在线播放| 日韩无码三级影院| 日韩八十路老熟女| 99热这里只有精品地址| 丰满人妻区一区二区三| av72网| 熟女视频久久| 亚洲97成人在线观看| 神马久久69| 五月丁香成人网| 亚洲无码成人精品| 快灬快灬 一下爽蜜桃在线观看 | 亚欧洲一区二区视频| 天天日天天舔天天喷天天射| 国产精品爽爽v| 久久久性爱| 97色妞| 少妇超碰在线| 五月天婷精品激情| 999精品国产高清一区二区| 91N综合网| 青青草色插素人| 一区二区三区精品黑丝白丝酒店对鸡| 天堂俺去俺来也www久久婷婷| 亚洲人综合19| 中文字幕午夜精品久久久| 亚洲成人一二三区| 婷婷五月天在线观看| 双插性欧美一二三区| 亚洲色天| 九t超碰| 亚洲综合69| 亚洲综合113页| 99色热| 成人性爱美曰韩| 日韩黄色片子| 综合久久少妇中文字幕| 东京太热男人的天堂久久久| 97精品中文字幕| 成人老鸭窝人人在线视频| 天天干一干| 国产a级午夜毛片| 嗯啊抽插大香蕉网页| 91精品国产91久久福利| 人妻一区二区三区熟女| 亚洲色欧| 丰满少妇精品一区二区| 久日综合网| 熟妇高潮一区二| AV一二区| 天天干2区3区| 91人妻人人妻| 国产伊人自拍| 天天操女人| 蜜桃色色网站视频三区| 久久精品一区二区三区不卡| 天天爱天天操| 性爱视频久久| 97人人草| 欧美|91色综合| 日韩精品一二三四| 婷婷四五区| 欧美视频在线第3页| 99热免费| 欧美淫穴| 91在线综合网| 97色论| 欧美性爱一区| 亚洲精品97中文字幕| 天天日美女的B| 岛国不卡超碰护士AV在线播放| 日韩欧亚中文在线| 婷婷丁香五月综合| 欧美九一精品久久久熟妇| 韩日精品福利视频一区不卡在线免| 亚洲美欧999| 亚洲永久AV无码精品秋霞| wwe 天天干.com| 樱花草社区www中国| 亚州综合AⅤ| 性欧美精| 蜜区区视频79| 97天天摸天天爽| 欧美乱伦专区| ji熟女.com| 亚洲啪啪视频一区二区| 欧美刺激色黄片免费看| 婷婷五月天基地| 91 亚洲 欧洲| 日本一天色道久久久精品视频| 成人在线午夜视频一区| 亚洲精品97p| 精品亚洲天堂| 国产精品4p在线观看| 91精品女厕偷拍视频| 成人三级片无码| 99∨VTV| 大香蕉伊人亚洲| 欧美国产有色电影| 人妻激情视频| 激情黄色片在线观看| 国产AV激情无码久久无码 | 欧美在线播放aaaa| 亚洲色图久久成人| 91激情网| 78操B| 天天视频网站黄| 国产树林里野战在线看| 欧美在线官网| 99精品久久久久久| 欧美性91| 久久人人爽爽人人爽人人片αV| 日韩乱伦视频| 日本三级小说中文字幕| 天堂精品| 色呦呦国产精品免费看| 亚洲第一无码播放立川理惠| 久久精品欧美一区蜜桃| 天天综合网91| 性性久久| 91欧美综合| 蜜乳av一区二区| 99操视频| 精品小视频在线| 精品人妻一区二区免费看| A一区片| 色狠狠综合| 91高跟美女在线播放| 精品无码少妇| 亚洲色色探花| 丰满少妇一区二区三区专区| 国产精品一二三| AA级电影三区| 亚洲中文字幕噜噜噜久久久| 国产精彩女在线观看视频| 超碰在线人人射| 国产精品三级视频网站| 久久久久久久久久久999| 亚洲国产精品无石码久久 | 欧美久久婷婷| 97天天日| 日本中文字幕在线电影| 女人的天堂大香蕉网| 亚洲图片欧美| 婷婷丁香五月综合| 久久久精品一区二区| 精品无码一区二区三区| 日韩欧美视频青青| 快播久久人人aV| 在线a v| 久久av色| 色婷婷国产精品一区在线观看| 综合一区中亚洲国产成人综合精品 | 国产成人亚洲精品自产在线 | 天天插天天操| 97视频新免费| 亚洲AV无码AV吞精久久久久| 校园春色欧美色图| 3PAV乱伦视频| 久超碰在| 福利视频网站| 99在线精品视频| 亚洲九九视频| 成人av动漫在线观看| 久久综合久色欧美综合狠狠| 国产日韩区| 97超碰逼| 亚洲精品一区二区精品| 欧美 青青草| 日本精品一级二级三级| 亚洲中文字幕有码视频一区二区三区| 玖玖久久久| 婷婷色网| 91中文字幕制服丝袜免费视频| 丁香五月综合| 97色操| 日本三级大片| 少妇无码999| 91色情黑丝搞鸡在线观看一区二区三区三州| 伊人嫩草| 色播丁香| 久久男人的天堂| 天天干一区二区| 亚洲自拍偷拍视频在线| 欧美爆操91| 日日操免费视频| 青娱乐大香蕉| 国产人妖视频一区在线观看| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 日本三级R| 桑老女人九区| 亚州国产精品乱| 国产60页| 久久偷拍人| 在线国产福利网址导航| 免费国产| 天天日日夜夜| 青春草莓视频在线观看网址| 欧美日韩黄色片一区二区三区四区人与兽做爱| AV麻豆免费一区| 国产乱人妻精品入口| 九月丁香综合网| 久久日韩肥臀| 国产原创精品| 园内精品自拍视频在线播放| 玖玖爱伊人玖玖爱| 欧美激情综合| 美女裸体无遮挡永久免费观看网站| 日少妇亚洲版| 日韩精品黄片免费观看| 91观看 国产白丝| 精品免费1| 小视频玖玖| 亚洲欧美综合网| 久久9精品视频| 九九干| 日韩综合97p| 一区二区首页| 岛园激情| 人妻少妇久久中文字幕一区二区 麻豆 | WWW黄片COM| 精品熟女呻吟久久91| 啊啊好多水| 无码抄逼网| 极品销魂美女一区二区| a片亚洲一本通视频| 丁香五月天堂网| 久久久久久网址| 欧美激情黑人| 九九九网页| 性爱乱伦一区| 后入式视频国产自| 国产精品一区二区三区四区五区| 久久这里只精品99re66图| 色欧美亚洲| 久操网在线| 日韩欧美视频青青| 芊芊操逼视频无码| 精品人妻一区二区三区鲁大师| 97久久精品亚洲中六字幕| 蜜臀操逼黄色视频操的好爽| 国产成人欧美精品在线| 天天影视网色欲色香| 久操黄色视频| 日韩欧美亚洲一区二区三区影院| 精品人妻一二三| 久久久久久久综合,国产| 嗯啊不要啊啊在线观看视频| 久久精品色欧美aⅴ一区二区| 亚洲欧美国产va在线播放频| 婷婷丁香人妻| 精品美女久久一二三| 亚洲 中文 女同| 免费视频a级毛片免费视频| 99这里只有精品国产| 97色综合中文网| 丝袜狂射91| 粉嫩少妇自慰在线| 欧美性爱97超碰| 久热大香蕉| 国产精品久久久无码AV网站| 日韩三级在线观看网站| 国产熟女无套内射| 日本 情色 1区2区3区| 精品然女一区二区| 狠狠躁AV| 五月天激情小说| 日本精品第一视频在'| 欧美日韩国产三级黄色| 日B操| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 日韩乱伦影音先锋| 久久久精品91八戒| A 天堂| 中文字幕三四区| 性91| 午夜精品久久久久久久第一页按摩| 欧美第二页午夜| 美女干逼2| 9久久美女首页| 美女的肌被草喷水视频| 精品人妻二区三区| 后入美女国产| 婷婷色一区| 伊人成人中文字幕久久网| 成人黑料社久久| 女人被添高潮免费视频| 国产黄色av大片网站| 乱伦av.com| 亚洲精品第一| 在线强奷到舒服的无码视频 | 九九九久久久久| 91精品成人| 日日夜夜青青草母狗| 99综合自拍| 国产偷仑| 黑人精品久久97| 97精品在线| 91网站在线播放| 亚洲素人综合| 中文字幕青青草| 99少妇| 欧美日韩在线小说| 亚洲福利影院一区久久| 欧美极品美女aaaaaa级黄片| a片在线播放| 亚洲色图尤物视频 | 无色无码| 黄色av一区二区在线| 五月婷婷基地| 超91综合网| 丰满少妇一区二区三区四区观看| 啊啊啊在线观看免费视频| 99啪啪| 操少妞在线视频| 婷婷10月天青娱乐| 老熟女综合| 98人妻精品一区二区色欲| 日韩综合成人免费视频| 日本丝袜人妻内射| 91啪啪视频| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 91Chinese在线| 亚洲激情综合| av在线人气| 亚熟hd视频在线| 爱丝福利| 男人午夜天堂| 欧美日韩大黄片| www欧美性爱| 嗯阿好爽好紧| 性欧美另类高清| 中文字幕精品丝袜| 男人的天堂日本东京热| 99在线精品观看视频中文| 色妇综合网| 99视频这有这里有精品| 亚洲欧洲日韩国产自在线| 中文字幕成人| 白丝AV网站| 日本精品一区二区三| 久久精品黄色| 最好看的中文字幕在线2018| 色99视频| 青青草伊人久久| 欧亚韩国999| 久久久九九九| AV污污污污| 色色色色色色色色色色色色色色综合| 亚洲少妇激情视频| 91白虎| 亚洲精品白浆高清久久久久久| 国产18精品亚洲精品| 久草综合京东| 中文字幕无码不卡啪啪| av网站免费看| 亚洲日韩成人性爱视频| 免费看污网站| 精品视频一区二区| 中国AV美女| 99久在线精品99re8热| 久久仑合| 午夜在线播放| 自拍偷拍 高清无码| 男人的天堂在线有码| 是还免费视频1727我| 激情小说在线视频| 天天做日日爱夜夜爽| 亚洲欧美天堂在线| 超碰人人干天天射| 日韩卡一卡二卡三在线| 四虎影视在线| 大茄子熟女AV导航| 能在线播放的国产三级| 99999精品视频| 青青草依人大香蕉| 人人妻人射| 99爱久久视频频| 日比av无码| 在线中文字幕极品av| 精产国品一区二三产品| 人妻丝袜一区二区三区在线| 日本视频在线观看污污污| 中文字幕乱碼在线| 97免费在线观看| 曰韩av中文字幕专区| 日韩视频小说在线观看| 26UUU欧美日本| 亚洲欧美精品一区天堂久久 | 蜜臀精品1区2区| 老熟乱一区二区三区四区| 东京热男人的天堂精品| 日韩一级二级在线| 91人人操| 99久久久99久久91熟女| 另类欧美| 太久视频| yy少妇精品久久| 51久久夜色精品国产麻豆| 中日无幕一二三四区| 密臀视频三区免费网站| 久久老子无码午夜伦不卡| 亚洲日韩乱码中文无码蜜桃臀网站| 看免费一级在线播放毛片| 毛片中心9视频99| 麻豆91熟妇人妻中文字幕茄子| 桃花色涩综合影院| 超碰97.com| 日韩欧美国产高清视频| 久久影视二区三区行押| 欧美日韩精品一区二区三区高清| 91操熟女视频| 欧美网站免费| 97视频www| 日本黄色大片一级视频免费麻豆| 区一在线观看| 在线αⅴ| 久久神马影院| 亚洲图片日本AⅤ欧美在线| 婷婷色网| 岛国免费黄色网址| 91久久久久久久| 久久性爱网站| 日本天堂在线播放| 久操精品网| 久久久久久久久久久久97| 亚洲AV成人在线| 国产成人五月天丁香花| 人妻啊啊人妻啊| 欧美色欧美| 亚洲欧美色综合| 色操逼网| 亚洲国产亚洲天堂| www.激情| 超碰色老头| 91在线免费观看处女| 日本人妻中文字幕| 少妇精品久久久| 中文字幕亚韩| 人人澡人人干| 蜜色网色哟哟| 人人干黄色| 色阁阁AV综合网| 毛片电影一区二区三区| 啊啊啊啊操死我| 中文字幕加勒比海高清无码免费视频| 一级二级三级黑人无码| 黄色一区三区| 五月婷婷综合网| 天天草天天日| 色www精品视频在线观看| 国产福利影视| 久久久四区| 国产又大又粗又长视频在线| 操逼1区| 久操国产在线| 欧美色图中文字幕| 亚洲黄色a级片| 久久一区二区蜜桃| 欧美午夜色妇色鬼| 国产精品成人蜜臀AV在线| 中国熟妇| 久久久久久久久久久久黄色| 男人的天堂一区三区| 亚洲欧美人妻| 欧美性天天影院| 日本 欧美 亚中文字幕| 懂色中文一区二区三区| 国产精品夜夜夜| 综精品久久久aaaa| 日本Xx性爱| 91色拍| 色婷婷五月天| 久久久久99999| 白丝AV网站| 国产成人免费观看在线视频| 精品少妇99| 91欧美美女日韩国产婷婷| 日本精品第一视频在'| 91在线免费精品视频| 免费97视频| 久久久久久夜夜夜夜夜| 三级网色| 国产精品美女久久久久久网站| 国产精品一级二级在线| 大香蕉手机在线视频| 日韩av不卡在线观看| 视频一区二区免费在线| 男人天堂无码| 亚洲综合影片| 99这里有精品| 亚洲系列第一页| 97超碰欧美精品| 天天欧美| 老女人老91妇女老热女| 色色99| 亚洲精品无码成人久久久99| 超碰91在线| 天欧美在线| 国产成人AV麻豆| 男人的天堂2010| 户外裸露刺激视频第一区| 三级日韩一区二区三区| 综合熟妇一区二区三区| 中国国国产一级特黄毛片| 麻豆久久视频在线地址| 人人妻人射| 91色综合| 97超级久久| 大香蕉色欲AV| 久久夜嗨| 116美女午夜| 综合婷婷| 亚洲最大网站av| 小视频国产| 97无码视频在线播放| 玖玖综合网| 色噜噜日韩精品| 丰满人妻一区| 亚洲涩涩| 少妇500双飞99| 婷婷三区| 青青草九九九九九| 色色无码| 中文字幕在线日亚州9| 在线可观看的黄色网址| 超碰在线观看av不卡| 婷婷干黄色| 四虎国产精品永久在线囯在线 | 视频在线97| 人妻熟女一区二区| 大香蕉欧美国产日韩高潮| 少妇与黑人高潮在线| 内射中出日韩在线观看视频| 欧美性天天影视| 最新欧美色网| 五月激情小说| 人妻AV在线| 九九热超碰| 人妻少妇久久久| 五月丁香影视| 丁香激情网| 日韩欧美视频青青| 国产av尤物| 男人天堂久久精品| 久久精品人体AV| 粉嫩国产精品久久粉嫩| 天天干一干| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 精品久久9| 久久亚洲天堂| 后入综合久久| 99rre在线精品99re8| 超碰久超碰久| 亚洲影视综合| 国产强奸无码乱伦| 蜜乳成人AV| 中日亚韩免费视频| 国产浮力影院第1页| 丰满人妻一区二区三区大胸懂色| 久久鲁干| 免费观看的av| 欧美精品在线观看| 日韩激情视频| 天天操天天日天天干| 日韩专区久久久| 久99在线免费观看视频| 亚洲男人的天堂va亚洲男人社| 亚洲色图亚洲| 日本性交操一区二区不卡系列| 十八禁视频一区二区| 操逼国产免费| 韩国一级婬片A片AAAAA| 长长久久曰曰夜夜成人网| 国产原创精品| 91美女色视频亚洲| 日韩成人人妻网站| 精品人妻av区天天看片| 操逼无码操逼| 岛国视频免费在线观看| 九九RE视频在线精品| 欧美嫩性色| 精品亚州18| av橘色网站| 97香蕉网| 亚洲导航深夜福利| 色色激情五月天| 亚洲男人天堂网久久| 国产第二页| 另类欧美色| 免费日韩黄片| 国模精品娜娜一二三区 | 97硬碰| 97操综合| 日本一级特级毛片视频| 国产一级高跟丝袜| 久久九九网| 97爱爱影院| 91四海无码日韩欧美| 亚洲欧美日韩免费观看| 91成人久久| 综合日本女人伊人| 足交视频老司机| 欧美在线啊啊| 欧美强奸乱能| 中文字暮97| 国产精品乱码久久久久久久| 国产精品熟女一区二区三区| 超碰成人公开| 超91综合网| 美女91av| 日本成a人v网站在线观看| 亚洲精品aa久久伊人| www.四虎在线| 91成人亚洲色图| 久久无码一区二区二三区性色| 插欧洲美女欧美精品| 天天做天天爱天天爽AV| 亚洲资源吧| 精品国产一区二区三区香蕉欧美| 婷婷五月天av| 97精品97久久| 国产资源中文字幕在线| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 国产成人午夜视频网址| 首页亚洲国产高跟丝袜诱惑视频 | 九九精品无码专区免费| 大香蕉AV在线| 风骚少妇视频中文字幕| 国内毛片欧美香蕉精品| 在线不卡视频| 亚洲综合一| 不卡中文字幕aⅴ在线| 五月天婷婷激情| 九九九九九九九九九九九蜜桃| 亚洲av噜噜噜噜噜噜| 婷婷五月天av| 91女优在线观看 | 日日夜夜狠狠| 久热99999| 亚洲欧洲综合成人av一区| 天天肏美女| 成人小电影网站tex| 午夜欧美女人操逼| 97色涩| 国内偷拍精品一区二区| 天天做天天爽| 亚洲97网站| 在线观看AV片| 亚洲综合99999| 99精品国产户外露出| 蜜臀久久99精品久久久久久久久| 欧美色爱综合| 免费啪啪一级视频| 亚洲熟女乱综合一区二区三区| 国内精品嫩模A∨私拍小视频| 国产剧情一区在线观看| 精品夜夜澡人妻无码AV| 国产 v乱码一区二| 无码操逼天堂| 啪啪91| 黑人狂躁日本妞一区二区三区| 爱射综合| 亚洲熟女综合一区二区| 国产欧美精选自拍一区| 日本熟女不卡视频| 91色艳| 91 丝袜在线播放| 99成人|