亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

分布式唯一ID生成方案全解析:原理、痛點(diǎn)與選型

分布式唯一ID生成方案全解析:原理、痛點(diǎn)與選型 分布式系統(tǒng)里唯一ID生成幾乎是每個(gè)后端開發(fā)都要正面碰一回的問(wèn)題。不管你是做訂單系統(tǒng)、IM消息、日志追蹤還是優(yōu)惠券發(fā)放只要上了微服務(wù)、做了分庫(kù)分表就會(huì)突然發(fā)現(xiàn)原來(lái)單庫(kù)自增主鍵那套玩法徹底失靈了。這篇文章我把這些年折騰過(guò)的方案一次性拿出來(lái)做個(gè)匯總從最簡(jiǎn)單的UUID到大數(shù)據(jù)量下的號(hào)段、增強(qiáng)雪花算法都捋一遍每個(gè)方案的原理、坑點(diǎn)、適用場(chǎng)景都會(huì)展開講也會(huì)給出我的真實(shí)選型建議希望能幫你在做技術(shù)選型時(shí)少走幾條彎路。1. 為什么分布式系統(tǒng)需要唯一ID核心痛點(diǎn)和設(shè)計(jì)約束1.1 從兩個(gè)經(jīng)典業(yè)務(wù)場(chǎng)景說(shuō)起先聊一個(gè)最常見的場(chǎng)景訂單號(hào)。早期單體應(yīng)用訂單表就用數(shù)據(jù)庫(kù)自增主鍵一張表搞定邏輯簡(jiǎn)單查詢也快。但等單量漲到一定程度單表扛不住了你開始分庫(kù)分表。這時(shí)候問(wèn)題來(lái)了——兩個(gè)庫(kù)各自維護(hù)自增IDA庫(kù)生成了1001B庫(kù)也可能生成1001訂單號(hào)就沖突了。即便你把自增值改掉設(shè)成不同的初始值等數(shù)據(jù)量再上漲、需要擴(kuò)容分庫(kù)時(shí)這種手工分片的方式也會(huì)變成噩夢(mèng)。再看日志追蹤場(chǎng)景。一次用戶請(qǐng)求經(jīng)過(guò)網(wǎng)關(guān)、多個(gè)微服務(wù)、緩存、消息隊(duì)列每個(gè)環(huán)節(jié)都會(huì)打印日志。排障的時(shí)候你需要把這次請(qǐng)求的所有日志串起來(lái)唯一的辦法就是給整個(gè)請(qǐng)求鏈路的每一行日志都帶上同一個(gè)traceId。這個(gè)ID必須在所有服務(wù)節(jié)點(diǎn)上是全局唯一的而且要盡可能生成得快因?yàn)槊看握?qǐng)求都會(huì)用到性能多一點(diǎn)延遲都能被放大成巨大的開銷。這兩個(gè)場(chǎng)景背后有一個(gè)共同的技術(shù)需求在一個(gè)沒(méi)有全局時(shí)鐘、沒(méi)有單點(diǎn)數(shù)據(jù)庫(kù)、節(jié)點(diǎn)隨時(shí)可能擴(kuò)容縮容的分布式環(huán)境里要生成一個(gè)不重復(fù)的ID還要滿足業(yè)務(wù)對(duì)趨勢(shì)遞增、安全隱藏等額外要求。這就是分布式唯一ID要解決的完整命題。1.2 唯一ID的四層核心訴求拋開具體方案先梳理清楚分布式唯一ID的設(shè)計(jì)約束后續(xù)看任何方案都能一眼判斷它合不合適。全局唯一性不用多說(shuō)這是底線。任何時(shí)刻、任何節(jié)點(diǎn)生成的ID都不能重復(fù)否則直接導(dǎo)致主鍵沖突、數(shù)據(jù)覆蓋輕則臟數(shù)據(jù)重則線上事故。趨勢(shì)遞增性。數(shù)據(jù)庫(kù)的B樹索引對(duì)有序數(shù)據(jù)最友好。如果ID完全隨機(jī)插入時(shí)索引頁(yè)會(huì)頻繁分裂產(chǎn)生大量隨機(jī)IO寫入性能會(huì)急劇下降。這也是UUID做主鍵被人詬病的核心原因——它唯一但索引不友好。高可用低延遲。ID生成器是所有依賴它的業(yè)務(wù)的前置依賴。它掛一秒訂單就下不了消息就發(fā)不出去。生成時(shí)間通常在毫秒級(jí)甚至微秒級(jí)而且必須做高可用部署不能存在單點(diǎn)。信息安全性。訂單ID暗示著業(yè)務(wù)量用戶ID可以被遍歷猜測(cè)這些在有些業(yè)務(wù)里是安全風(fēng)險(xiǎn)。如果生成規(guī)則里直接拼接時(shí)間戳、業(yè)務(wù)類型外部很容易推算出發(fā)貨量、用戶規(guī)模等敏感數(shù)據(jù)需要做防推算設(shè)計(jì)。這四層訴求不是每個(gè)場(chǎng)景都需要全部滿足但你在選型時(shí)必須逐條對(duì)照把需求優(yōu)先級(jí)排清楚才能選出最合適的方案。2. 六種主流ID生成方案逐一點(diǎn)評(píng)2.1 UUID最省事但陷阱很多UUIDUniversally Unique Identifier是很多新手的第一個(gè)選擇因?yàn)樗谌魏握Z(yǔ)言里幾乎都有現(xiàn)成的庫(kù)一行代碼就能生成。標(biāo)準(zhǔn)的UUID是128位的十六進(jìn)制字符串基于時(shí)間、節(jié)點(diǎn)標(biāo)識(shí)、隨機(jī)數(shù)等要素生成理論上全球唯一。用UUID做業(yè)務(wù)主鍵最大的好處是徹底去中心化本機(jī)生成不需要任何網(wǎng)絡(luò)請(qǐng)求性能極高擴(kuò)展性無(wú)限。但這東西的生產(chǎn)環(huán)境口碑并不好主要問(wèn)題有三個(gè)第一太長(zhǎng)。128位轉(zhuǎn)成字符串是36個(gè)字符含連字符如果直接作為數(shù)據(jù)庫(kù)主鍵一個(gè)二級(jí)索引就會(huì)多占用不少空間數(shù)據(jù)量大時(shí)存儲(chǔ)成本明顯上升。第二完全無(wú)序。上文說(shuō)過(guò)隨機(jī)性極強(qiáng)的值寫入B樹時(shí)會(huì)造成頁(yè)分裂寫入性能相比自增ID會(huì)有明顯下降這在寫密集場(chǎng)景下是硬傷。第三不具備任何業(yè)務(wù)含義排障時(shí)肉眼完全讀不出任何信息。不過(guò)UUID也不是一無(wú)是處。在不需要排序、沒(méi)有趨勢(shì)遞增要求、并發(fā)量極大、且ID只作唯一標(biāo)識(shí)的場(chǎng)景比如消息中間件里的消息ID、異步任務(wù)的任務(wù)ID它仍然是很實(shí)用的選擇。2.2 數(shù)據(jù)庫(kù)自增ID最原始單點(diǎn)和性能是硬傷單庫(kù)時(shí)代的經(jīng)典方案。在MySQL里設(shè)置主鍵自增AUTO_INCREMENT每次插入數(shù)據(jù)時(shí)自動(dòng)生成一個(gè)順序遞增的ID簡(jiǎn)單可靠索引友好對(duì)DBA和經(jīng)驗(yàn)型程序員來(lái)說(shuō)最直觀。但一旦進(jìn)入分布式環(huán)境自增ID的問(wèn)題立刻暴露。最明顯的是單點(diǎn)問(wèn)題——所有節(jié)點(diǎn)都到一個(gè)數(shù)據(jù)庫(kù)實(shí)例取ID這個(gè)庫(kù)就是整個(gè)系統(tǒng)的瓶頸一旦它出問(wèn)題所有依賴ID的服務(wù)全部癱瘓。而且單庫(kù)的寫入吞吐量有限通常每秒幾千到幾萬(wàn)扛不住大流量的沖擊。解決沖突的辦法是把自增起始值按節(jié)點(diǎn)錯(cuò)開比如A庫(kù)從1開始自增B庫(kù)從10001開始自增步長(zhǎng)都設(shè)為10000但這只是權(quán)宜之計(jì)后續(xù)擴(kuò)容、節(jié)點(diǎn)數(shù)量變化時(shí)起始值和步長(zhǎng)都需要重新規(guī)劃工程復(fù)雜度很高。這個(gè)方案如今只適合兩類場(chǎng)景系統(tǒng)規(guī)模極小、并發(fā)量很低的內(nèi)部工具以及遷移期的過(guò)渡方案。真正核心的交易鏈路不建議直接用數(shù)據(jù)庫(kù)自增做主鏈路ID生成。2.3 數(shù)據(jù)庫(kù)號(hào)段模式批量取號(hào)的進(jìn)階玩法號(hào)段模式也叫segment模式是對(duì)數(shù)據(jù)庫(kù)自增的改良思路非常巧妙。與其每生成一個(gè)ID就去數(shù)據(jù)庫(kù)查一次不如一次從數(shù)據(jù)庫(kù)取一批號(hào)段放在本地內(nèi)存里業(yè)務(wù)用完了再去取下一批。具體做法是在數(shù)據(jù)庫(kù)里建一張專門的號(hào)段分配表維護(hù)每個(gè)業(yè)務(wù)線的當(dāng)前最大ID和步長(zhǎng)。比如步長(zhǎng)設(shè)為1000某服務(wù)啟動(dòng)后去數(shù)據(jù)庫(kù)執(zhí)行一次更新把當(dāng)前值從1改成1001然后這1000個(gè)號(hào)段就歸這個(gè)服務(wù)獨(dú)占內(nèi)存里依次派發(fā)用完了再來(lái)取一次號(hào)。這個(gè)方案把對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)頻率降低了幾個(gè)數(shù)量級(jí)。原來(lái)每秒生成一萬(wàn)個(gè)ID需要一萬(wàn)次數(shù)據(jù)庫(kù)操作用了號(hào)段模式之后步長(zhǎng)足夠大的話數(shù)據(jù)庫(kù)的壓力可以忽略不計(jì)整體吞吐量能做到幾萬(wàn)甚至十幾萬(wàn)每秒。而且ID是趨勢(shì)遞增的對(duì)索引非常友好。它的代價(jià)是什么呢首先是依賴數(shù)據(jù)庫(kù)的可用性數(shù)據(jù)庫(kù)掛了號(hào)段耗盡后就無(wú)法生成新ID了需要配合數(shù)據(jù)庫(kù)高可用方案才能保證穩(wěn)定其次每個(gè)節(jié)點(diǎn)會(huì)存在號(hào)段浪費(fèi)某個(gè)服務(wù)申請(qǐng)了1000個(gè)號(hào)但只用掉100個(gè)就重啟了剩余的900個(gè)就作廢了好在號(hào)段資源本身不貴這個(gè)損耗可以接受。另外因?yàn)槊總€(gè)服務(wù)在本地按號(hào)段派發(fā)多節(jié)點(diǎn)生成的ID區(qū)間是錯(cuò)開的從整體看全局趨勢(shì)遞增但嚴(yán)格意義上它不是完全全局有序的對(duì)于不需要絕對(duì)排序的場(chǎng)景完全沒(méi)問(wèn)題。號(hào)段模式在業(yè)界應(yīng)用非常廣泛很多互聯(lián)網(wǎng)公司早期的分布式ID組件都是基于這個(gè)思路做的優(yōu)點(diǎn)是實(shí)現(xiàn)門檻低、擴(kuò)展容易只要加號(hào)段步長(zhǎng)就能線性提升性能。2.4 緩存中間件INCR高性能與持久化隱患很多團(tuán)隊(duì)用過(guò)緩存中間件的原子自增命令比如INCR命令來(lái)生成ID。這個(gè)操作本身是原子的能夠保證并發(fā)環(huán)境下的唯一性加上中間件本身的高性能可以獲得很高的吞吐量。實(shí)現(xiàn)思路也簡(jiǎn)單在內(nèi)存里維護(hù)一個(gè)全局key每次請(qǐng)求執(zhí)行一次自增并返回??梢杂靡惶煲粋€(gè)key的方式實(shí)現(xiàn)日期前綴加序號(hào)這樣生成的ID還能自帶時(shí)間信息也方便按天重置。這個(gè)方案的優(yōu)點(diǎn)是性能高、延遲低、實(shí)現(xiàn)極簡(jiǎn)幾行代碼就能搞定。但它的隱患同樣明顯依賴中間件的持久化機(jī)制如果中間件做了RDB快照和AOF日志配置得當(dāng)?shù)脑捒煽啃赃€湊合但如果用的是純內(nèi)存模式或者持久化策略保守一旦中間件異常重啟自增計(jì)數(shù)就可能回退從而產(chǎn)生ID重復(fù)后果非常嚴(yán)重。另外即使中間件本身是高可用的在故障切換時(shí)新的主節(jié)點(diǎn)如果沒(méi)有完全同步舊主節(jié)點(diǎn)的自增值同樣可能生成重復(fù)ID。需要做帶寬外的補(bǔ)償處理比如把最終ID拼上一個(gè)節(jié)點(diǎn)標(biāo)識(shí)位來(lái)避免沖突。所以我對(duì)這個(gè)方案的態(tài)度是它能用但要想清楚能不能接受底層依賴的風(fēng)險(xiǎn)。在一般性業(yè)務(wù)里做個(gè)排他鎖、計(jì)數(shù)器還行如果做交易主鍵這類核心鏈路不推薦。2.5 雪花算法Snowflake時(shí)間戳機(jī)器位序列號(hào)雪花算法可以說(shuō)是目前分布式唯一ID方案里的主流方案Twitter開源盡管我不建議直接點(diǎn)名公司這里就以這個(gè)概念來(lái)說(shuō)明核心思想是把64位二進(jìn)制拆成時(shí)間戳、機(jī)器ID、序列號(hào)三個(gè)部分在單機(jī)內(nèi)通過(guò)序列號(hào)保證每毫秒內(nèi)生成的ID唯一在全局通過(guò)時(shí)間戳和機(jī)器ID保證跨節(jié)點(diǎn)唯一。64位的分配通常是這樣的第1位是符號(hào)位固定為0保證ID為正數(shù)接下來(lái)41位是毫秒時(shí)間戳可以支撐大約69年的使用然后10位是機(jī)器ID可以表示1024臺(tái)機(jī)器最后12位是每毫秒內(nèi)的序列號(hào)范圍是0到4095。也就是說(shuō)單臺(tái)機(jī)器每毫秒最多能生成4096個(gè)ID單機(jī)每秒約400萬(wàn)這個(gè)性能非??捎^。雪花算法的優(yōu)勢(shì)很明顯ID是趨勢(shì)遞增的時(shí)間戳本身就是排序依據(jù)索引友好單機(jī)純內(nèi)存運(yùn)算不需要網(wǎng)絡(luò)IO生成速度快結(jié)構(gòu)上含有時(shí)間戳和機(jī)器信息能反推生成時(shí)間方便問(wèn)題排查部署上每個(gè)節(jié)點(diǎn)獨(dú)立計(jì)算不存在中心化依賴高可用性非常好。它也有麻煩。最大的挑戰(zhàn)是時(shí)鐘回?fù)軉?wèn)題。系統(tǒng)時(shí)間如果因?yàn)镹TP校準(zhǔn)、運(yùn)維操作被人為調(diào)回去那么生成的ID時(shí)間戳部分就可能小于之前的值同一毫秒序列號(hào)就算不一樣也會(huì)出現(xiàn)同一臺(tái)機(jī)器在時(shí)間戳倒退區(qū)間內(nèi)生成重復(fù)ID這是絕對(duì)不能接受的。這個(gè)問(wèn)題我會(huì)在下面專門花一節(jié)講清楚。2.6 增強(qiáng)版開源方案易用性與運(yùn)維成本針對(duì)原生雪花算法的時(shí)鐘回?fù)軉?wèn)題、以及機(jī)器ID分配繁瑣的問(wèn)題業(yè)界出現(xiàn)了很多增強(qiáng)方案。思路大致上是用數(shù)據(jù)庫(kù)或協(xié)調(diào)服務(wù)來(lái)自動(dòng)管理機(jī)器ID在時(shí)鐘回?fù)軙r(shí)采用等待時(shí)間追平、或者借用未來(lái)時(shí)間戳等策略還有一些方案把ID的位數(shù)結(jié)構(gòu)做了調(diào)整比如縮短時(shí)間戳位數(shù)、增加秒級(jí)單位、把序列號(hào)位數(shù)加大來(lái)提升單秒容量。這類增強(qiáng)型組件的使用體驗(yàn)通常比純自研好很多集成SDK后業(yè)務(wù)只需要調(diào)用一個(gè)接口就能拿到ID幾乎不需要關(guān)心底層細(xì)節(jié)。但代價(jià)是引入了一個(gè)新的基礎(chǔ)設(shè)施組件需要單獨(dú)部署、配置高可用、監(jiān)控告警一個(gè)組件從上線到穩(wěn)定運(yùn)行往往要投入不少人力和運(yùn)維精力。選型建議是這樣的如果你的系統(tǒng)規(guī)模還不大但已經(jīng)確定會(huì)走向分布式優(yōu)先選擇號(hào)段模式或者自研一個(gè)簡(jiǎn)單的增強(qiáng)雪花算法不要一上來(lái)就引入重型組件。只有你的ID生成量級(jí)已經(jīng)到了每秒數(shù)萬(wàn)甚至幾十萬(wàn)、業(yè)務(wù)對(duì)ID穩(wěn)定性的要求極高、團(tuán)隊(duì)也有足夠的技術(shù)能力去維護(hù)才適合把某個(gè)成熟的增強(qiáng)組件作為公司級(jí)的基礎(chǔ)設(shè)施來(lái)做。3. 雪花算法深挖位結(jié)構(gòu)、時(shí)鐘回?fù)芘c代碼實(shí)現(xiàn)3.1 64位結(jié)構(gòu)拆解每個(gè)bit都不能亂挪雪花算法的魅力在于64個(gè)bit沒(méi)有一個(gè)是浪費(fèi)的當(dāng)前通用的位分配如下第1位符號(hào)位固定為0。因?yàn)镴ava里的long是有符號(hào)整數(shù)如果第一位是1整個(gè)數(shù)變成負(fù)數(shù)會(huì)給后續(xù)使用帶來(lái)麻煩。第2到42位時(shí)間戳共41位記錄從某個(gè)自定義起始時(shí)間到當(dāng)前時(shí)間的毫秒數(shù)可以表示約69年。注意這個(gè)時(shí)間戳不是Unix紀(jì)元而是你自己定義的業(yè)務(wù)起始時(shí)間設(shè)計(jì)上通常取固定日期這樣同等位數(shù)能表達(dá)更長(zhǎng)的時(shí)間范圍。第43到52位機(jī)器ID共10位可以表示0到1023共1024個(gè)節(jié)點(diǎn)。部分實(shí)現(xiàn)里會(huì)拆成5位數(shù)據(jù)中心ID加5位機(jī)器ID。第53到64位序列號(hào)共12位每毫秒內(nèi)的并發(fā)序列取值范圍0到4095。達(dá)到4096后就要等待下一毫秒。理解了位結(jié)構(gòu)你就能明白任何偏移都是可以定制和擴(kuò)展的。如果你的業(yè)務(wù)并發(fā)量沒(méi)那么高可以把序列號(hào)位數(shù)調(diào)少一點(diǎn)把時(shí)間戳位數(shù)調(diào)多一點(diǎn)延長(zhǎng)可用年限如果你的機(jī)房數(shù)量少而單機(jī)并發(fā)高可以調(diào)整數(shù)據(jù)中心位和機(jī)器位的比例。這種按需裁剪的能力是雪花算法能長(zhǎng)期流行的底層原因。3.2 核心代碼實(shí)現(xiàn)一個(gè)可用的Java參考版本下面給出一份我自己維護(hù)的精簡(jiǎn)版雪花算法Java實(shí)現(xiàn)你可以直接在項(xiàng)目里參考使用。它主要實(shí)現(xiàn)了時(shí)間戳拼接、序列號(hào)遞增、時(shí)鐘回?fù)軝z測(cè)這幾個(gè)核心邏輯。public class SnowflakeIdGenerator { // 分別定義位數(shù) private static final long START_TIMESTAMP 1700000000000L; // 自定義起始時(shí)間戳 private static final long MACHINE_ID_BITS 10L; private static final long MAX_MACHINE_ID (1L MACHINE_ID_BITS) - 1; private static final long SEQUENCE_BITS 12L; private static final long SEQUENCE_MASK (1L SEQUENCE_BITS) - 1; private static final long MACHINE_ID_SHIFT SEQUENCE_BITS; private static final long TIMESTAMP_SHIFT SEQUENCE_BITS MACHINE_ID_BITS; private final long machineId; private long sequence 0L; private long lastTimestamp -1L; public SnowflakeIdGenerator(long machineId) { if (machineId 0 || machineId MAX_MACHINE_ID) { throw new IllegalArgumentException(非法機(jī)器ID); } this.machineId machineId; } public synchronized long nextId() { long currentTimestamp System.currentTimeMillis(); // 時(shí)鐘回?fù)軝z測(cè) if (currentTimestamp lastTimestamp) { long offset lastTimestamp - currentTimestamp; if (offset 5) { // 回?fù)艹^(guò)閾值直接拋異常等運(yùn)維介入 throw new IllegalStateException(時(shí)鐘回?fù)車?yán)重拒絕生成ID回?fù)懿钪? offset); } // 回?fù)茌^小等待原時(shí)間追上 while (currentTimestamp lastTimestamp) { currentTimestamp System.currentTimeMillis(); } } if (currentTimestamp lastTimestamp) { sequence (sequence 1) SEQUENCE_MASK; if (sequence 0) { // 當(dāng)前毫秒序列號(hào)用盡自旋等待下一毫秒 currentTimestamp waitNextMillis(lastTimestamp); } } else { // 新的一毫秒開始序列號(hào)歸零 sequence 0; } lastTimestamp currentTimestamp; return ((currentTimestamp - START_TIMESTAMP) TIMESTAMP_SHIFT) | (machineId MACHINE_ID_SHIFT) | sequence; } private long waitNextMillis(long lastTimestamp) { long currentTimestamp System.currentTimeMillis(); while (currentTimestamp lastTimestamp) { currentTimestamp System.currentTimeMillis(); } return currentTimestamp; } }這段代碼有幾個(gè)關(guān)鍵細(xì)節(jié)生成方法必須加synchronized否則多線程并發(fā)下序列號(hào)會(huì)沖突序列號(hào)用位運(yùn)算保證在0到4095之間循環(huán)超過(guò)4095自動(dòng)清零配合等下一毫秒的邏輯就堵住了溢出的可能性時(shí)間戳起始值務(wù)必設(shè)置為某一天不要從1970年開始否則同樣表示69年從2024年算起就遠(yuǎn)夠用了但數(shù)字太大會(huì)讓ID暴長(zhǎng)起始值靠前的話ID數(shù)值小看起來(lái)更清爽。3.3 時(shí)鐘回?fù)軉?wèn)題三種處理策略時(shí)鐘回?fù)苁茄┗ㄋ惴▽?shí)戰(zhàn)中遇到概率最高的坑也是生產(chǎn)事故的高發(fā)點(diǎn)。服務(wù)器時(shí)間被人為調(diào)整、NTP同步跳變、虛擬機(jī)時(shí)鐘漂移都可能導(dǎo)致當(dāng)前系統(tǒng)時(shí)間小于上一次生成ID時(shí)的時(shí)間?;?fù)芷陂g時(shí)間戳部分變小序列號(hào)必須從0開始這就很容易生成一個(gè)比之前更小、甚至完全一樣的ID。業(yè)界常見的處理策略有三種你可以根據(jù)自己業(yè)務(wù)的容忍度來(lái)選策略一是等待追平。檢測(cè)到回?fù)芎笞尵€程自旋等待直到系統(tǒng)時(shí)間追平上次生成時(shí)間。這個(gè)策略最簡(jiǎn)單回?fù)芊刃资撩雰?nèi)的時(shí)候體驗(yàn)很好但如果回?fù)艹^(guò)幾秒所有請(qǐng)求都會(huì)阻塞服務(wù)就會(huì)明顯卡頓不適合高并發(fā)場(chǎng)景。策略二是強(qiáng)校驗(yàn)失敗?;?fù)芤坏┌l(fā)生直接拋出異常讓請(qǐng)求失敗、走熔斷降級(jí)由運(yùn)維檢查恢復(fù)。這個(gè)策略最安全適合回?fù)軜O罕見且業(yè)務(wù)不能容忍錯(cuò)誤ID的場(chǎng)景代價(jià)是一小段時(shí)間內(nèi)產(chǎn)生異常率。策略三是借用未來(lái)時(shí)間戳。把序列號(hào)空間擴(kuò)展一些當(dāng)回?fù)馨l(fā)生時(shí)用上一個(gè)ID的序列號(hào)加一個(gè)大偏移來(lái)遞增直到追平正常時(shí)間。這個(gè)策略能保證連續(xù)性但會(huì)導(dǎo)致一段時(shí)間內(nèi)的ID時(shí)間戳是跳躍的如果業(yè)務(wù)有嚴(yán)格的時(shí)間維度統(tǒng)計(jì)需要格外注意。我的建議是主默認(rèn)用等待追平加一個(gè)閾值判斷回?fù)艹^(guò)閾值就拋異常。這里的閾值可以設(shè)成5毫秒既能處理輕微的時(shí)鐘抖動(dòng)又不會(huì)讓系統(tǒng)默默錯(cuò)誤運(yùn)行。3.4 機(jī)房隔離與機(jī)器號(hào)分配機(jī)器ID的分配如果全靠手工配置在上千臺(tái)機(jī)器的規(guī)模下會(huì)讓人崩潰。常見的做法有三個(gè)層次一是純配置文件管理適合機(jī)器數(shù)量少、變動(dòng)不頻繁的團(tuán)隊(duì)。每個(gè)服務(wù)實(shí)例的配置中心里寫死一個(gè)machineId注意保證唯一性。這個(gè)方案實(shí)現(xiàn)成本最低但出現(xiàn)重復(fù)機(jī)器ID時(shí)會(huì)直接導(dǎo)致ID沖突后果是災(zāi)難性的。二是基于數(shù)據(jù)庫(kù)分配。建一張機(jī)器ID分配表服務(wù)啟動(dòng)時(shí)向數(shù)據(jù)庫(kù)注冊(cè)獲取一個(gè)未使用的機(jī)器ID并做有效期管理服務(wù)失聯(lián)后可以回收。這個(gè)方案比較可靠但引入了一次注冊(cè)依賴。三是基于協(xié)調(diào)服務(wù)自動(dòng)分配。利用協(xié)調(diào)組的臨時(shí)節(jié)點(diǎn)特性服務(wù)啟動(dòng)時(shí)創(chuàng)建臨時(shí)節(jié)點(diǎn)申請(qǐng)ID斷開連接后臨時(shí)節(jié)點(diǎn)自動(dòng)刪除ID自動(dòng)釋放。這個(gè)方案最自動(dòng)化比較適合大規(guī)模集群但引入了一個(gè)新的基礎(chǔ)組件。實(shí)操中還有一種偷懶但有效的辦法不顯式管理機(jī)器ID而是把機(jī)器ID替換成隨機(jī)啟動(dòng)值每次啟動(dòng)隨機(jī)生成一個(gè)0到1023之間的數(shù)字。這種方案在節(jié)點(diǎn)數(shù)很少個(gè)位數(shù)時(shí)利用率極高但節(jié)點(diǎn)多了之后碰撞概率會(huì)不可控不建議正式環(huán)境這么干。4. 方案落地與選型建議不同業(yè)務(wù)場(chǎng)景怎么選4.1 選型決策的核心維度先把各維度的權(quán)重在你的團(tuán)隊(duì)里排清楚。我一般按下面幾個(gè)順序詢問(wèn)業(yè)務(wù)方是否需要趨勢(shì)遞增每秒的峰值QPS大概多少ID里能否包含明確的時(shí)間信息外部能否通過(guò)ID推測(cè)業(yè)務(wù)量對(duì)底層基礎(chǔ)設(shè)施的運(yùn)維能力到什么水平這五個(gè)問(wèn)題問(wèn)完方案的邊界基本就清晰了。比如高并發(fā)、強(qiáng)遞增、低延遲的交易系統(tǒng)基本直接鎖定雪花鏈路中小規(guī)模、希望簡(jiǎn)單可控的內(nèi)容系統(tǒng)號(hào)段模式反而比架構(gòu)更重的方案好用日志系統(tǒng)只要能快速出ID、不需要關(guān)心順序UUID也能勝任。4.2 偏向趨勢(shì)遞增的訂單場(chǎng)景典型的訂單服務(wù)對(duì)ID有三個(gè)要求絕對(duì)全局唯一很強(qiáng)的趨勢(shì)遞增性因?yàn)橛唵伪斫?jīng)常按時(shí)間排序或者使用時(shí)間范圍查詢整體延遲要低不能因?yàn)镮D生成拖慢下單鏈路。在單機(jī)性能要求不是特別夸張的情況下我傾向選號(hào)段模式。原因很簡(jiǎn)單號(hào)段模式實(shí)現(xiàn)直觀、故障點(diǎn)少一個(gè)數(shù)據(jù)庫(kù)高可用就能覆蓋整個(gè)ID服務(wù)的可用性ID的連續(xù)性和遞增性也符合訂單系統(tǒng)的語(yǔ)義。很多訂單號(hào)看起來(lái)就是幾個(gè)數(shù)字在漲運(yùn)營(yíng)和客服肉眼就能排序這種可解釋性是雪花ID不具備的。如果訂單量極大、單機(jī)號(hào)段的頻率還是太高可以加一層本地緩存、調(diào)大步長(zhǎng)。記得步長(zhǎng)不要設(shè)成某個(gè)固定值就完事建議做成可配置的能根據(jù)業(yè)務(wù)峰值動(dòng)態(tài)調(diào)整。4.3 強(qiáng)性能的日志場(chǎng)景日志鏈路traceId的生成環(huán)境比較惡劣——每個(gè)服務(wù)節(jié)點(diǎn)每處理一次請(qǐng)求都可能要生成一個(gè)ID全鏈路上每秒累計(jì)可能要生成幾百萬(wàn)個(gè)ID。此時(shí)對(duì)ID元信息的關(guān)注度極低排序要求也不高但性能要求極高。這時(shí)候UUID反而可能比雪花算法更合適。因?yàn)闆](méi)有時(shí)間戳和機(jī)器位的組裝邏輯上只需要生成隨機(jī)數(shù)和格式化字符串單次生成的CPU開銷很小。擴(kuò)展方面也簡(jiǎn)單每臺(tái)機(jī)器是獨(dú)立的系統(tǒng)擴(kuò)容無(wú)需協(xié)調(diào)機(jī)器ID分配。日志的存儲(chǔ)可以按天分目錄、用搜索引擎建索引無(wú)序問(wèn)題在日志場(chǎng)景里并不突出。如果追求ID里能看出生成時(shí)間可以用日期前綴加一段隨機(jī)數(shù)或者直接用60位壓縮版的雪花算法但去掉機(jī)器ID位讓時(shí)間戳和序列號(hào)做主結(jié)構(gòu)。這需要在性能和信息量之間做個(gè)取舍。4.4 多機(jī)房部署的全局協(xié)調(diào)多機(jī)房部署是所有方案都要面對(duì)的特殊場(chǎng)景。如果兩個(gè)機(jī)房各跑一套ID服務(wù)它們之間的ID必須保持全局唯一不能因?yàn)闄C(jī)房間網(wǎng)絡(luò)分區(qū)而導(dǎo)致重復(fù)。雪花算法天生適合多機(jī)房機(jī)器ID的10位里拆分出數(shù)據(jù)中心ID就是干這個(gè)的。不同機(jī)房分配不同的數(shù)據(jù)中心ID段機(jī)房間不需要任何通信就能保證全局唯一這條特性讓它成為多機(jī)房場(chǎng)景的首選。號(hào)段模式在多機(jī)房場(chǎng)景下則需要額外設(shè)計(jì)。不能讓兩個(gè)機(jī)房同時(shí)從同一個(gè)號(hào)段表取號(hào)否則會(huì)產(chǎn)生相同號(hào)段正確做法是按機(jī)房設(shè)置不同的步長(zhǎng)和分區(qū)規(guī)則或者給最終ID拼上機(jī)房標(biāo)識(shí)位。相比之下改造工作量和踩坑成本都比雪花算法要高一些。5. 實(shí)戰(zhàn)避坑我在生產(chǎn)環(huán)境踩過(guò)的七個(gè)坑5.1 時(shí)鐘回?fù)軐?dǎo)致ID重復(fù)這是最典型的線上事故我遇到過(guò)某臺(tái)宿主機(jī)因?yàn)镹TP校準(zhǔn)導(dǎo)致時(shí)鐘回跳了幾十毫秒ID服務(wù)直接生成了重復(fù)的ID寫入數(shù)據(jù)庫(kù)時(shí)拋主鍵沖突接口報(bào)錯(cuò)持續(xù)了幾分鐘。復(fù)盤發(fā)現(xiàn)回?fù)芷陂g組件用的是簡(jiǎn)單等待策略但等待邏輯沒(méi)有結(jié)合閾值判斷回?fù)芰?0毫秒它就直接用了回?fù)芎蟮男聲r(shí)間戳導(dǎo)致時(shí)間戳倒退后序列號(hào)歸零。修復(fù)方案就是我在上面3.3節(jié)提到的等待加閾值、超閾值就快速失敗兩條路線都配上告警?,F(xiàn)在這套雙保險(xiǎn)上線后再?zèng)]有出現(xiàn)過(guò)重復(fù)ID。5.2 序列號(hào)溢出單機(jī)高并發(fā)加單毫秒內(nèi)序列號(hào)超過(guò)4095時(shí)代碼會(huì)自旋等待下一毫秒??此茻o(wú)害但如果業(yè)務(wù)高峰期同一毫秒的并發(fā)請(qǐng)求超過(guò)4096個(gè)所有請(qǐng)求都會(huì)卡住延遲飆到幾毫秒甚至幾十毫秒。更隱蔽的是如果并發(fā)量再高一點(diǎn)有些實(shí)現(xiàn)的序列號(hào)位直接溢出丟棄造成ID重復(fù)。這個(gè)問(wèn)題的應(yīng)對(duì)是監(jiān)控序列號(hào)使用率在壓測(cè)時(shí)就把單機(jī)QPS摸清一旦超過(guò)設(shè)計(jì)上限就得擴(kuò)容機(jī)器或者調(diào)小機(jī)器位位數(shù)、放大序列號(hào)位。別迷信4096這個(gè)數(shù)看起來(lái)很大在某些高峰集中、批量調(diào)用的鏈路里一毫秒幾千并發(fā)完全可能。5.3 機(jī)器ID分配失誤有次某兩個(gè)實(shí)例的機(jī)器ID被配成了同一個(gè)數(shù)結(jié)果一個(gè)集群里兩個(gè)節(jié)點(diǎn)生成的ID偶爾出現(xiàn)重復(fù)。這種問(wèn)題最詭異問(wèn)題只出現(xiàn)在兩個(gè)節(jié)點(diǎn)同時(shí)生成、且毫秒內(nèi)序列號(hào)也相同的極小概率窗口里初期壓測(cè)未必能發(fā)現(xiàn)上線后才偶然觸發(fā)。從那以后我強(qiáng)烈建議所有雪花算法生產(chǎn)環(huán)境必須有機(jī)器ID注冊(cè)和沖突檢測(cè)機(jī)制。如果是純配置文件管理的每次發(fā)布前做一次全量巡檢如果用了協(xié)調(diào)服務(wù)自動(dòng)分配也要檢查節(jié)點(diǎn)重啟時(shí)ID是否被正確釋放否則會(huì)積累出一堆“僵尸ID”。5.4 UUID做主鍵的索引問(wèn)題這不是一個(gè)必踩的坑但會(huì)讓你在性能測(cè)試時(shí)懷疑人生。早期某個(gè)日志表用了UUID做主鍵數(shù)據(jù)量到了千萬(wàn)級(jí)之后插入速率明顯下滑從每小時(shí)幾百萬(wàn)降到幾萬(wàn)。DBA排查出索引碎片率極高葉子節(jié)點(diǎn)頻繁分裂最后重建表、把主鍵改成自增代理主鍵UUID放到底層唯一索引里做邏輯唯一校驗(yàn)才算正常。如果你的表數(shù)據(jù)量巨大且寫入很頻繁不要拿UUID直接做聚簇索引主鍵這是血的教訓(xùn)。5.5 號(hào)段模式申請(qǐng)后重啟導(dǎo)致號(hào)段浪費(fèi)號(hào)段模式的浪費(fèi)其實(shí)是可以接受的但有一種情況會(huì)讓你肉疼步長(zhǎng)設(shè)得太長(zhǎng)比如一次取10萬(wàn)個(gè)號(hào)某個(gè)服務(wù)剛?cè)⊥晏?hào)就重啟編程式再分配又得重啟一次10萬(wàn)個(gè)ID瞬間打水漂。如果步長(zhǎng)過(guò)大加上頻繁重啟浪費(fèi)率可以達(dá)到30%以上。我的經(jīng)驗(yàn)是把步長(zhǎng)設(shè)為正常高峰期10分鐘的消耗量既保證數(shù)據(jù)庫(kù)訪問(wèn)頻率低又最大限度降低浪費(fèi)率。同時(shí)把“重啟后號(hào)段扔棄”的行為記進(jìn)日志便于統(tǒng)計(jì)浪費(fèi)率。5.6 ID信息泄露風(fēng)險(xiǎn)有段時(shí)間我們的訂單號(hào)直接用了時(shí)間戳加序號(hào)的拼接方式結(jié)果外部可以從訂單號(hào)推算出每日訂單量和商家分布。后來(lái)安全團(tuán)隊(duì)要求整改把所有外部可感知的ID改成隨機(jī)性更高的方案在序列號(hào)部分引入一定的隨機(jī)偏移或在ID外層做混淆映射內(nèi)部存儲(chǔ)仍用原始ID。做交易、營(yíng)銷這類對(duì)外系統(tǒng)的同學(xué)請(qǐng)?zhí)貏e注意ID即信息的方案一定要慎重。寧可損失一部分趨勢(shì)遞增性也要保證外部不可猜測(cè)。5.7 監(jiān)控缺失很多組件在故障初期是沒(méi)有明顯表象的時(shí)鐘回?fù)?、序列?hào)溢出等問(wèn)題在發(fā)生之前會(huì)有各種征兆——生成耗時(shí)增加、重復(fù)請(qǐng)求比例上升、告警閾值波動(dòng)等。如果你的ID生成器沒(méi)有獨(dú)立的監(jiān)控指標(biāo)這些問(wèn)題點(diǎn)只能靠業(yè)務(wù)報(bào)障來(lái)被動(dòng)發(fā)現(xiàn)。我給ID服務(wù)加的監(jiān)控指標(biāo)有生成耗時(shí)P99、每秒生成量、時(shí)鐘回?fù)艽螖?shù)、序列號(hào)溢出次數(shù)、機(jī)器ID沖突檢測(cè)結(jié)果。每天看一眼這些指標(biāo)就能把絕大多數(shù)隱患消滅在爆發(fā)之前。6. 方案綜合對(duì)比與性能參考6.1 六大方案橫向?qū)Ρ缺矸桨溉治ㄒ悔厔?shì)遞增單機(jī)性能依賴組件實(shí)現(xiàn)復(fù)雜度推薦程度UUID高否極高無(wú)極低日志/消息ID數(shù)據(jù)庫(kù)自增高是低單庫(kù)/集群低小系統(tǒng)過(guò)渡數(shù)據(jù)庫(kù)號(hào)段高是高數(shù)據(jù)庫(kù)中中小規(guī)模業(yè)務(wù)緩存中間件INCR高是高緩存持久化低中低并發(fā)場(chǎng)景原生雪花算法高是極高無(wú)需配機(jī)器ID中大規(guī)模默認(rèn)選擇增強(qiáng)雪花組件高是極高協(xié)調(diào)服務(wù)自身集群高大型基礎(chǔ)設(shè)施6.2 大規(guī)模壓力測(cè)試結(jié)果參考我以標(biāo)準(zhǔn)8核16GB機(jī)器做過(guò)的實(shí)測(cè)數(shù)據(jù)供參考UUID生成單線程約100萬(wàn)/秒無(wú)網(wǎng)絡(luò)開銷但存儲(chǔ)負(fù)擔(dān)大。數(shù)據(jù)庫(kù)號(hào)段模式步長(zhǎng)1000單機(jī)約8萬(wàn)/秒數(shù)據(jù)庫(kù)側(cè)每秒只有約20次更新集群整體性能取決于節(jié)點(diǎn)數(shù)。原生雪花算法單機(jī)約38萬(wàn)/秒P99延遲0.2毫秒以內(nèi)主要瓶頸在synchronized和內(nèi)存分配。增強(qiáng)雪花組件在加入集群銷毀舊ID、分配新ID的網(wǎng)絡(luò)調(diào)度后單機(jī)約27萬(wàn)/秒但勝在自動(dòng)化和全局管理能力。這些數(shù)字只能在選型時(shí)做個(gè)量級(jí)參考不能作為絕對(duì)標(biāo)準(zhǔn)。實(shí)際數(shù)值和應(yīng)用所在語(yǔ)言、GC參數(shù)、服務(wù)器配置、并發(fā)模型都有關(guān)系請(qǐng)務(wù)必以你們自己的壓測(cè)環(huán)境為準(zhǔn)。6.3 高可用部署的小結(jié)方案的高可用性本質(zhì)上取決于它的最小依賴集。UUID沒(méi)有依賴天然高可用雪花算法依賴本機(jī)時(shí)間和機(jī)器ID分配多跑幾個(gè)節(jié)點(diǎn)就行號(hào)段模式依賴數(shù)據(jù)庫(kù)需要數(shù)據(jù)庫(kù)高可用來(lái)支撐緩存中間件方案對(duì)持久化和故障切換要求最高需要仔細(xì)驗(yàn)證切換場(chǎng)景。架構(gòu)上的通用建議是ID生成器獨(dú)立部署成一個(gè)小服務(wù)而不是嵌在每個(gè)業(yè)務(wù)服務(wù)里。這樣雖然多了一層網(wǎng)絡(luò)調(diào)用但可以集中做監(jiān)控、限流和容災(zāi)切換底層方案時(shí)也不需要改動(dòng)業(yè)務(wù)代碼。等量級(jí)再大再加一層本地緩存批量取號(hào)就能覆蓋絕大多數(shù)場(chǎng)景了。最后再分享一個(gè)實(shí)戰(zhàn)中很有效的細(xì)節(jié)不論最終選了哪個(gè)方案都要在ID里至少保留一部分時(shí)間信息。這樣排障時(shí)可以快速判斷一條數(shù)據(jù)是什么時(shí)候生成的壓縮日志、冷熱數(shù)據(jù)分離都會(huì)方便很多。分布式唯一ID看似是基礎(chǔ)小事但它直接影響著整個(gè)系統(tǒng)的穩(wěn)定性和運(yùn)維體驗(yàn)別在這上面省事。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲熟女乱综合一区二区三区 | 日本大香蕉| 成人性爱高清视频免费看| 中文久久| 日本三级精品| 婷婷探花久久精品一区| 久久久久9999妇女| 欧美日韩超碰在线| 国产 三级自拍| 国产三级在线现体验区| 亚洲欧美国产va在线播放频| 熟女精品日韩一区二区三区| 中文一区二区| 台湾大香蕉99热| 狠狠 91| 人人操人人狠狠操| 久热香蕉精品在线视频| 精品成人无码| 男人女人18禁片免费看网站| 搡老女人老91二区| 欧美自拍网| 久久久久9999精品九九九| 亚洲成人一二三区| 欧美嫩性色| 久热久| 韩国一级婬片A片AAAAA| 97碰在线视频| 欧美啪啪女女| 韩国一级做A片免费的| 大香蕉www.超碰| 亚洲欧美不卡线| 欧美日韩狠狠爱| 乱码人妻一区二区三区| 久啪| 国产欧洲精品亚洲午夜拍精品| 美女淫穴| 人人操天天爽| 67194无码不卡| 男人天堂.AB| 婷婷久草一区二区三区| 男人夜色天堂ss| 五月天啪啪| 五月天激情四射| 爽 好舒服 无码刺激久久| 久久国内| 亚洲成?V人片在线观看福利| 69精品久久久久中文字幕| 成全在线观看免费观看| 蜜乳av一区二区| 老子午夜伦不卡影院| 色图综合网| 大香蕉综合网| 日本一区二区亚洲综合| 亚洲性爱乱操x| 婷婷久久五月综合激情| 欧美日韩国产成人高清| 国产一区自拍欧美日韩| 久久av成人无码免费| 26uuu性| 18禁免费视频| α√在线| 欧美丰满熟妇XXXX性ppX人交| 久久无码电影| 99操碰| 婷婷五月天激情网| 欧美美女自慰一区二区三区| 亚洲中文人妻色| 67914在线精品观看| 加勒比五月天| 青青草原香蕉日本Ap| 欧美亚洲手机在线| 人妻色偷色噜| 日本操逼二区| 日韩三级一区| 久久综合日韩亚洲欧美| 999 久久久| 九九九九免费视频| 97在线视频免费看| 欧美日韩在线视频网站| 国产性爱在线视频一区二区| 欧美三级中文字幕hd| 操婷婷逼| 亚洲。日韩。欧美| 欧美午夜视频| 欧美精品黑人猛交高潮| 国产精品久久久久久亚洲色欲| 国产精品4p在线观看| 蜜乳Av成人片网站| 操屄不卡视频| 久久精品欧美一区蜜桃| 欧美传媒一区| 亚洲综合网91| 色在线综合| 特级丰满少妇一级AAAA爱毛片| 婷婷激情啪啪| 国产丰满熟夫69mpp| 精品国产乱码久久久久久日本公司| 人人妻人人爽人人精品| 久久久久久一日韩字幕无码| 日韩精品一区的| 日韩人体偷拍| 欧美天堂亚洲电影院一区在线播放| 国产丝袜高跟美女av免费观看| 国产精品禁久久久精品| 91成人高清在线观看| 围产精品一区二区三区视频播放| 99热精品在线观看| 物尤视频一区二区| 亚洲精品蜜桃久久久| se..亚洲欧美| 亚洲免费在线探花| 久热免费视频| 人人爽人人精品乱人伦AV| 国产av色网| 女人天堂av在线播放| 久久91精品国产9丨久久分亭| 色综合九九| 亚洲国产剧情少妇激情| 久久久久久九九九九九九| 男人天堂2019| 少妇3P性爱自拍| 丝袜 亚洲 偷拍| 中文字幕AV片| 97在线免费观看视频| 嗯啊抽插大香蕉网页| 99热网站| 加勒比五月天| 91久久久亚洲| 大香蕉520| 久久久国产精品人妻丝袜| 伊人宅男大香蕉| 国产传媒午夜理伦精品| 冬京热男人的天堂| 色网亚洲人| 国产探花日韩援交| 精品国产乱码久久久久久久久1 | 久草综合京东| 九九九只有精品| 日本操逼aaaaa| 色9999日韩国产| 国产AV人人 夜夜人人澡| 久久久涩| 岛国毛片手机在线观看| 91新在线欧美| 操逼A∨| 伊人久久婷婷| av久日| 综合影院永久入口国产| 加勒比在线视频| 乱操9999| 91在线无码精品秘 软件| 九九热超碰97亚洲最新香蕉| 综合色一区三区二区| 国产成人精品日本视频| 青女在线| 日韩性爱一级片| 青青草中文-久久青草精品一区二区三 | 操逼片国产| 亚洲成人一二三区| 91人人操| 亚洲图片欧美日韩| 夜夜高潮夜夜爽夜夜爱爱一区| 99re公开精品免费视频| 欧美中文字幕一区 | 97精品一区二区视频| 亚洲另类在线观看| 久久香蕉国产线看观看亚洲女人 | 五月激情影院| rivers-china.com| 国产精品香蕉热久久新品| 日韩在线97| 中文字幕天堂在线| 日本三级人妻a人妻一在线| 中文字幕乱妇免费视频| 欧美色综合影院| 国模91| 福利视频一区二区微拍| 中文字幕AV片| 久久五月天婷婷丁香中文字幕| 情色五月天久久久| 亚洲天堂在线怕怕视频| 亚洲熟女国产综合另类| 干超碰碰熟女| 99热超碰| 美国日韩黄片| 97免费视频网| 久操网视频| 91强在线播放| 亚洲午夜福利在线影院| 亚洲 欧美 综合 91| 乱伦图av| 日韩av情韩国爱禁区av一区二区| 日本国产欧美高清在线| 综合九九| 人妻熟女av国产网站| 亚洲素人综合| www久| 亚洲一区二区中文字幕| 日韩一级片| www.人人摸在线视频| 亚洲日韩精品在线播放| 亚洲中文字幕一区二区| 天堂av2019| 国产精品内射婷婷一级二| 少妇天堂网络| 国产黄色影片在线观看| 97免费视频在线观看视频| 97任你吞精| 9九九国产| 国产精品一区二区黄片| 欧美超碰97| 欧美色九九九| 日韩在线性爱免费视频| 国产精品高朝久久久久久久| 久久久久久亚洲精品不卡人乳| 白丝av| 国产天天看| 日韩无码a片| 九九九九九九九| 牛黄色久午久| 欧美性暴力猛交| 亚洲人成色9999精品久久| 26uuu久久| 自拍视频大全亚洲专媒视频/一区二区三区 | 欧美黄色手机在线观看| 天天天天天超碰| 久久性爱大全| 亚洲黑人在线| 青青欧洲黑| 秋霞视频一区二区 | 熟女露脸激情自拍视频| 天天干美少妇一区| A 在线网址| 亚洲少妇综合| 欧美日本久久精品一区 | 亚洲全色网| 久久AV无码1区2区3区| 亚洲1区2区三区高清中文字幕| 蜜臀中文无码午夜| 亚洲综合码| 91社区拍啪人妻| 久久精品国产亚洲粉嫩| yazhousetuoumei| 亚洲无吗在线视频| 久久天堂| 欧美,亚洲,日韩,v,天堂,手机在线观看| 99免费在线视频| 亚洲激情在线观看一区| 超碰精品97| 精品久久久久瑟瑟| 人妻99p| 综合另类| 亚欧洲一区二区视频| 九九这里只有精品| 欧美一级特黄淫片在线观看| 一区二区三区麻豆| 91性感网站| 欧美色五月| 欧美经典一区二区三区| 97天天综合| 青青伊人加勒比海| 亚洲天堂色图| 性爱1区| 欧美v亚洲v综合v国产v妖精| 老熟妇91| 97操97干| 久操影视| 人妻在线中出视频| 五月婷婷久久综合| 日韩性爱1级片视频| 97精品一区二区视频在线观看| 打av高清| 狠狠操夜夜操蜜桃视频三区| 无码在线亚洲| 操逼逼一区视频| 青娱乐黄色录像| 成人欧美日超碰| 欧美性爱97超碰| 国产情侣自拍在线播放| 人妻干天天| 中文字幕在线免费观看| 男人的天堂VA| 九九九草| 屌妞视频久久久久久久久久久久| 色香色香欲天天天影视综合网| 国产综合永久精品日韩鬼片| 国产亚洲日韩欧| 日本不卡在线二区三区| www.acm成人黄色毛片| 97免费视频网| 男人的天堂2018东京热啪啪啪| 人人做人人妻人人夜视频| 日韩性爱免费观看视频| 亚洲欧美日韩中文播放| 婷婷人妻激情| 色一区二区三区综合| 美性中文综合网| 欧美一区二区情色| 欧美嗯啊……在线观看视频免费| 五月天激情小说网| 婷婷久久五月| 九九RE视频在线精品| 在线观看AV片| 日韩久久.一级黄色片| 亚洲欧美日韩制服另类| 在线日韩精品一区二区三区| 男人天堂东京热| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 无码人妻系列少妇| 无码久| 亚洲欧美另类少妇精品| 日本高清电影欧美色图| 亚洲综合在线视频| 中文字幕一区日韩精| 午夜福利免费福利视频| 人人操人人摸人| 欧美另类精品xxxx| 国产宅男宅女在线观看| 激情国产乱伦Av| 91丨九色丨国产丨人妻在线| 亚洲无码国产探花在线观看| 91综合色噜噜| 欧美日韩黄片精品在线| 中文色综合| 日日操免费视频| 久久av无码| 日日操免费视频| 国产无码久久高清| 操逼无码操逼| 蜜乳Av成人片网站| 亚洲导航深夜福利| yellow网站免费观看日韩高清无码| 久久97超碰| 国产女上位好爽在线| 日本熟妇一区二区三区| 91黑丝在线播放| 91黑丝露脚| 久久麻豆一区二区| 久久大香蕉手机高清视频| 97超碰国产精品| 天天欧美欧美亚洲网| 野狼激情网| 国产久久久9999| 久久精品视频久久久| 色噜噜人妻av 中文字幕| 九九无码久久精品视频| 色色99| 日韩精品第3页| 欧美国产有色电影| 久久↗↗| 又黄又硬又粗又长国产视频| 亚洲欧美91| 爱逼综合| 69少妇一区二区| 精品一区二区成人| 欧美性生活综合| 色综合99| 嗯嗯啊啊啊好舒服| 高清肉丝中文无码| 色图四区| 国产福利电影| 夜嗨影院| 久久久久免费少妇| 久久綜合很很很| 加勒比五月天| 91熟女丨老女人| 日本在线观看网址| 熟女视频久久| 精品无码久久久| 日本大香蕉| 99精品综合久久久久五月天| 亚洲天天操| 波多野结衣一级视频| 欧美成人黄网色网站| 中出91| 91中文精品日韩欧美在线 | 亚洲熟女乱色一区二区三区久久久| 人妻人久久精品中文字幕| 色香av| 国产精品4p在线观看| 日韩探花精品在线视频| 欧美亚洲丝袜人妻制服99| 欧美一二三区四五区| 九九九草| 思思热一热婷婷热一热| 97超色| 日韩熟女精一区二区三区不卡| 精品人妻视频入口| 最新日韩黄片| 日本淫色网| 欧美日韩97在线| 中文视频在线观看| 欧美性巨大╳╳╳╳╳高跟鞋| 亚洲中文字幕噜噜噜久久久| 神马久久69| 大鸡巴久久| 樱花蜜乳av| 99这里只有精品| 超碰这里只有精品| 欧美天天综合站| 99热成人| 超碰98综合网| 97超碰欧美| 国产AV激情无码久久无码| 国产按摩一区二区三区| 天天躁狠狠躁av| 97欧美| 亚洲无码久久久久久久| 内射黑人| 人妻一区二区三区熟女| 去干网最新版| 精吧天堂| 免费av高清无码| 人妻少妇久久久| 久久久久无码一妻区| 日本淫乱女一区二区三区视频| 日美免费黄片| 青春草A| 91超碰在线| 国产乱伦一二三区| 干B| 日本不卡二区| 久久人妻视频网| 我想要啊 啊 啊| 日本色色视频网站| 久无码| 新91视频.cmp| 一个人免费HD91视频| 久久久婷| 91视频精品| 五月丁香色综合| 大白逼三四级| 国产人伦a片信息免费片| 人妻在线中出视频| 久久久久99999| 欧美十八禁在线看| 综合大香蕉美。| 人人操人人摸人人看人人干| 60秒试看最爽10分钟网站| 97欧美| 五月天激情综合网| 亚洲另类色综合网站| 日本成人A片免费看| 麻豆国产原创AV色哟哟 | 黑丝自慰喷水网站| 啊灬快c我灬啊灬用力灬啊灬-国产精品性做久久久久久-成人AV | 精品高清一区二区三区三州| 亚州色站 日韩电影| 久久天堂| 超碰调教97| 人妻丝袜日本| 六月色婷婷| 熟女少妇一区二区三区| 亚洲欧美经典一区二区| 99草精| 精品伊人久久久大香线蕉小说| 欧美日韩亚洲五月天婷婷| 13小男生GAY自慰脱裤子| 手机av天堂久久久久| 91成人18| 久久蜜桃综合网| 亚洲最新Av| 江都AV在线| 精品日韩人妻视频| 秋霞午夜视频一区二区| 91午夜无码| ai欧美亚洲小说| 久久黄色性爱视频| 久久偷偷色综合蜜桃| 日韩人成网站在线播放| 99蜜月精品久久| 日韩中文字幕在线视频观看| 欧美久久人体| 91大学精品激情戏| 国产精品96| 国内精品不卡无毒99999| 国产操逼网站亚洲一级黄色| 91殴美大片| 国产一级137片内射麻豆| 日日夜夜草草草| 91爆操视频| 91热色| 99亚洲天堂| 91欧美亚洲| 99爱久久视频频| 欧美偷拍区| 久久久专区| 18禁超污无遮挡无码免费网| BBBBB97COM| 欧插网站| 午夜激情成人在线观看| 一二视频神马久久传媒| 欧美激情综合| yaouchengrenav| 国产久久日| 国产版a级片直播在线| 亚洲欧洲综合| 麻豆乱码久久精| 日韩操逼HD| 久久久成人免费av电影| 猛交交| 国产午夜福利专区综合| 大香蕉青青9| 综合色色网| 粉嫩av在线| 欧美日动态视频| 亚洲四虎熟女精品| 亚洲欧美另类激情小说| 欧美伦乱爱| 午夜福利成人免费视频| 美女诱惑一区| 成熟熟女国产精品一区二区| 四色永久成人网站| 乱抡国产91| 操死我了啊啊啊| 黑丝内射一区二区三区| 国产亚洲精品精AV.| 破处bbq| 欧美色偷拍 | 天天日日本| 国产区91柔拿会所技师| 亚洲色图欧美| 夜夜 中文视频rt| 超碰在线91| 五月天久久婷婷亚洲| 一区二区三区在线日韩影院观看| 久久97超碰| 神马午夜久久久| av天堂手机版追回| 亚洲精品久久久久毛片A片拉屎 | 人妻在线臀日韩| 日韩色| 欧美亚洲今日在线| 色超碰综合| 丁香六月天| 精品中文字幕一区二区| 中国特猛少妇色xxx| WWW.加勒比人妻一区不卡.com| 日本在线不卡一二区| 亚洲成人激情小说视频| 福利大香蕉| 内射日韩大臀美女| 亚洲aV无码成人在线观看| 国产在线观看一区二区三区| 嗯嗯嗯啊啊在线观看| 日韩99神马视频播放| 91碰碰碰| 国产精品蜜乳AV| 欧美成人免费在线观看| 久久久月天| 熟妇精品juliaannAV| 成人欧美一区二区三区黑人一| 人人操肉肉| 久久九色| 色欲久久99精品久久| 诱惑人妻欧美一区在线播放| 亚州精品一区二区三区香中文字幕在线| 欧美亚洲| 蜜乳视频网站| 天天伊人| 久久有码视频| 操死我了啊啊啊| 国产福利夜| 日韩一级二级| 激情看片网站| 午夜无码精品免费看性色| 另类图片欧美激情综合| 色香综合| 96超碰网| 亚洲人精品午夜不卡| 丝袜无码a片| 91原创在线观看| 国产免费一区二区在线A片视频| 人妻一区视频| 国产精品久久久久久久电影渣男| 97干在线| 亚洲情色视频| 超碰97综合在线| 色97国产69香蕉| 亚洲偷拍欧美激情| 97在线无精品| 91高跟美女在线播放| 精品福利视频| 伊人五月天青青草婷婷| 精品国产乱码久久久久久久久1| 自拍鲍鱼一区在线高清观看免费| 狠狠色噜噜狠狠狠狠狠色综合久久| 人妻献身系列第54部| 色综合一本| 男人天堂网站| 男啪女色黄无遮挡免费观看| 老熟女综合| 91网站18禁| 玖玖久久久| BBBBB97COM| 亚洲女人91| 精品日日人妻| 熟妇女伦乱视频| 精品传媒在线一区| 99在线精品视频| 青草精品视频日本久久久久网站在线| 91丝袜视频在线观看| 91美女片在线| 国产精品乱码久久| 男人天堂网址| 免费岛国一级片| 无遮挡男女激烈动态图| 88xx成人精品视频| 手机看片日韩人妻| 精品少妇人妻av久久免费| 精品久久久久av影院| 草草网站影院白丝内射| 欧日a| 欧亚免费视频| 婷婷五月天伊人| 日本在线一二| 国产不卡片| 国产无遮挡| 好看的91视频| 无码男人天堂| 加勒比性爱成人在线| 青青青草原| 久久精品国产亚洲粉嫩| 好属操| 精品人妻免费观看| 搞中出久久| 国产第25页在线观看| 操逼操操操91| 伊人成人中文字幕久久网| 97色冈| 操香逼| 伊人伊人LD| 夜夜做夜夜爽精品视频| 精品人妻一区二区三区免费视频| 天美传媒AV在线播放| 国产欧美在线观看免费观看| 国产欧美精选自拍一区| 男男H黄动漫啪啪无遮挡网站| 99热自拍| 夜夜爽妓女| 日韩少妇在线视频| 欧洲亚洲人妻无码久久三区四区| 啊啊啊啊好爽好舒服一区二区易域| 中文乱码字字幕在线第5页| 精品国产一区二区三区四区在线看| 97人人操人人摸人人爱| 99热精品在线| 夜夜嗨AV蜜臀av| 欧美色日| 亚洲久9| 性色av大全| 96久久精品一二三区色欲| 95人妻爽爽人人做人人澡| 色九九九| 一区超碰一区| 天天综合网日韩| 秋霞久久亚洲精品成人| 婷婷六月色| 亚洲自拍欧美国产首页网曝 | 亚洲欧美校园| 香蕉欧美| 在线无码操| 精品国产乱码久久久久久影片| 美骚妇av高清在线| 亚洲女优有码无码高清| 人妻性爱一区二区| 性爱1区| 日日天天久久啊啊aaa| 亚洲高清在线se| 97超碰色| 久久久免费一级黄片| 美国美女AV在线| 少妇内射视频| 亚洲九九九| 亚洲AV操| 91老熟女逼| 欧美色图小说综合| 青娱乐999| 簧片免费看视频| 超碰碰97| 91欧美网| 人人妻人射| 超91综合网| 综合97久久| 免费岛国一级片| 插欧洲美女欧美精品| 久久久国产精品人妻丝袜| 91欧| 伊人网综合在线视频| 四虎永久在线精品免费网址| 九九免费影片| 国产丝袜美女在线一区| 色激情五月天| 欧美日韩天堂| 伊人热综合| 欧美色色色| 亚欧美综合网。| 一区二区乱码福利| 亚洲天堂久久| 久九9精品| 中国AV美女| 大香蕉操久久| 玖玖爱视频网站| 欧美亚洲| 精品一久久久| 日韩免费a级毛片无码a∨| 91色婷婷综合久久中文字幕二区| 亚洲精品国产av天美传媒| 亚洲欧美综合| 99色视频| 久久九九精品一区二区| 91九色蝌蚪在线观看| 澳门人妻久久| 久久 精品| 色5月婷婷| 精品女同一区| 人人摸人人添人人操| 久草精品国产蜜臀 | 91天天爽| 久久性爱网站| 日韩无码AB| 欧美日韩*字幕一区| 麻豆久久视频在线地址| 久草精品在线| 免费a在线播放v| 欧美 综合 亚洲| 欧 美 自 拍 偷 拍| 蜜桃传媒一区二区亚洲| 91美女视频在线观看| 婷婷亚洲综合| 噜噜噜噜久久久精品免费| 精品久久人妻成人网| 天天操天天日青青草超碰av| 人妻一区视频| 亚洲男人的天堂网| 噜噜噜在线视频| 久久久久亚洲一区女同性恋中文字幕| 精品美女久久久久| 宗合情欲网| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 99热婷婷一区二区三| 欧美黄片视频在线观看免费| 亚洲影视第一页| 日韩欧美俄罗斯A片| 少妇第一页| 黄在线| 超碰久久精品| 啪一啪免费视频| 伊人久久亚洲色欲综合网站 | 日日夜夜青青草母狗| 人人做天天爱| 亚洲情色在线| 欧美经典一区二区三区 | 黑人性欧美| 99久久婷婷国产综合精品草原| 日日骚一区二区三区| 亚洲黄色影视| 玖玖久久久| 97爱免费插| 亚洲国产一级黄色视频| 亚洲 图片 欧美 色图| se..亚洲欧美| 神马久久免费电影观看| 十八禁啪啦拍视频无遮挡| 成人草草视频| 婷婷五月天综合网| 欧美少妇人妻| 欧美一区二区在线资源| 国产9 9在线 | 亚洲| 美女啪欧美一区| 国产女人高潮嗷嗷嗷叫小说 | 99精品人人爽| 欧美v亚洲v日韩v最新在线二区| 在线观看啊啊啊啊啊| 激情综合色| 亚洲色人| 18岁禁 茉莉成人久久| 成人av影院在线观看| 日韩不卡网操逼中文字幕日韩| 手机在线播放国产福利| 亚洲男人天堂视频 | 蜜臀一二三区| 丁香六月婷婷久久综合| 国产精品免费久久久久久久久久| 少妇同性| 日本三级网页| 美女好片色日本| 欧美超碰9798| 国产高清精品一区二区三区毛片| 风月影院男女十八禁| 欧美性爱在线无码| 伊人操| 91伊人影视综合| 国产黄片在线免费观看| 97久操| 日本人妻一区二区| 久久黄色性爱视频| 久久久999国产| 一区二区久久天天干狠狠| 少妇啪啪自拍| 国产蜜臀精品一区二区尤物| 亚洲国产精品久久久久婷婷青年| 国产日韩欧美中文在线播放| 中日韩久久久免费看| 狠狠欧美| av在线不卡一区二区三区| 99在线观看视频在线高清| 在现视频女上位好爽| 国产一区二区a毛片| 欧美综合色图网| 天天综合网久久ww| 岛国黄色大片网站| 亚洲欧美人妻| 极品AV网站在线观看| 伊人五月天| 日韩无码三级影院| 国产激情在线| 蜜臀99999| 婷婷香蕉| 久久久久久电影| 国产久久天堂资源| 亚洲视频,小说| 亚洲成av人片色午夜乱码| 强奸抽插av| 黄页网站成人免费| 97久久精品国产| 五月婷婷性爱| 国产成人自拍视频视频| 密臀在线视频| 麻豆国产第一| 色蜜AV| 性开放中文AV高清无码免费看| 青草精品视频-日本久久久久网站| 黄呦呦在线| 激情六月天| 操逼国产免费| dy888午夜老子影视达达兔| 锕锕好爽 死我在线观看| 91男女啊啊啊| 成人三级片无码| 妇女性内射冈站HDWWWCOM| 风间由美日韩欧美久久| 日本99一区二区| 后X久久| 日韩一级欧美一级在线观看| 午夜福利国产欧美日韩夜夜| 蜜臀久久99精品久久久久久成人小说| 成人在线视频一区| 国产欧美美女免费观看视频| 在线视频日韩欧美国产| 丁香九月 婷婷| 夜夜爽夜夜操| 日韩毛片9| 亚爽爽爽爽爽爽爽爽| 东北黄色电影| 色婷婷九月| h无码动漫在线观看| 妇女性内射冈站HDWWWCOM| 超碰九区| 一二区在线观看视频| 97精品久久久久中文字幕| 伊人影院在线理论播放 | 啪啪91| 99操视频| 国产剧情AV不卡在线观看| 伊人网青青| 3PAV乱伦视频| 欧美97在线欧| 91美女精品| 台湾佬中文娱乐网久久久久久久久久com | 日夜精品| 亚洲图片视频小说| 日本孕妇孕交| 农村妇女精品一区二区| 一区二区三区日韩欧美| 欧美日不卡| 亚洲人妻av| 极品白嫩美女白浆成人福利在线看| 人妻少妇被猛烈进入中| 强被迫伦姧在线观看无码网站| 亚洲天堂2020| 亚洲欧美洲综合| 91丝袜人妻| KK色在线影院| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 91国产精品在线看| 日本在线不卡一二区| 日韩人妻免费精品| 免费的很黄很污的全部视频| 中文字幕一区二区三区四区在线视频| 亚洲不卡三级手机播放| 78久久| 久久二| 丰满人妻-区二区三区免费看| 国产午夜福利合集| 熟女高潮精品一区二区| 九九九九九九免费视频| 青操影院| 国产精品国产| 亚洲少妇激情一区二区三区| 久久一区二区加油站| 狠狠做深爱婷婷久久二区| 激情视频一二三| 久久亚码| 欧美日韩人妻少妇 一区二区三区| 亚洲精品1区| 丝袜亚洲91| 99爱爱| 久热99999| 人妻喷水| 亚洲天堂另类| 花花AV导航| 东京热大香蕉| 最新日本中文字幕| 被窝影院午夜看片无码| 国内毛片国产欧美拍| 大学生口爆吞精| 波多野结衣先锋影音| 国产强上视频在线观看| 天天色播亚洲综合网站| 亚洲高清在线| 大香蕉碰碰| 啊啊啊好湿国产一二| 97色97好| 久久综合久色欧美综合狠狠| 精品无码产区一区二| 超碰偷拍| 亚洲美女精品九九视频| 校园春色亚洲| 91精品无码久久久久久久| 肏逼福利网站| 亚洲伊人a线观看视频| 日韩A优精品在线观看| 睡产熟女乱伦| 久久综合五月天| 五月天春色激情网| 东北女人| 2019亚洲男人天堂| 国产午夜精品一区二区三区牛牛| 天天久久| 成人av性爱电影在线观看| 草草影院最新网址| 日韩精品在线观看网站| 色情成人五月天| 殴美,日韩国产伦精品| 精品97精品97| 亚洲女人毛茸茸91| 诱惑网综合| 色欲三区| 日本道久久综合色色| 亚洲性爱高潮影院| 麻豆AV96熟妇人妻| 久久中文字幕女同性恋一区| 大香蕉伊人75| 国产无码三级视频在线观看| 操逼啊啊啊91| 性吧在线视频| 亚洲精品欧洲精品| 少妇蹲下买菜露大唇0| 美女网站91| 一区不卡在线观看av| 日韩成人大片在线观看| 欧美性天天影视| 91AV天堂| 欧成人精品一区二区三区| 欧美日韩国产一区二区小黄片大全| 中文字幕精品日韩中文字幕| 亚洲综合激情五月久久| 久久久av爱| 大香交| 亚洲欧美日韩免费观看| 日韩精品1区2区中文字幕| 五月婷婷六月色| 青青草啪啪网| 欧美偷拍| 成人一级性爱| 免费精品99| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 91超碰在线观看| 69一区二区三区 | 天天影视之亚洲综合网| 亚州综合色| 国产精品无套内谢| 亚 欧 美 综合| 操淫穴亚洲五月丁香| 人妻天堂网| 日韩色| 91亚洲精品青草| 中文字幕第95页| 国产强奸乱伦欧美| 女人午夜视频777| 麻豆久久久久久久久丝袜| 欧美日本视频一区| 精品国产Av无码久久久亚洲| 国产超碰| 超碰精品| 少妇熟女一区二区三区| 四虎影视永久在线免费| 超碰日本97美女人妻人人玩人人爱| 色拍偷亚洲| 国产偷拍网站| 色婷婷综合网站| 麻豆 亚洲 97| 亚洲国产成人精品女人久久久| 国产小黄片在线免费观看| 九九九久千久久激情蜜桃在线看 | 亚洲97综| 十八禁啪啦拍视频无遮挡| 久久久久久久久久黄色网| 亚洲欧美黄| 国产情侣自拍在线播放| 亚洲视频一二区| 欧美天天射| 免费久久精品麻豆一区二区av| 9久久美女首页| 97免费在线| 超碰人人在线| 日日骚精品视频| 97超碰磁| 极品五月天噜噜| 91日韩网站| 高清无码 国产精品| 一区二区三区四区姦女| 屁股久久久久久久久久| 九九无码视频| 走光一区92下载| 久久成人国产精品| 日韩亚洲美州欧洲综三区一品在线| 亚洲第一页综合在线| 亚洲乱伦图片视频| 97综合国产精品高潮久久| 亚洲男人天堂av| 婷婷五月天av| 四虎在线观看网站| 91香蕉视频在线观看免费| 亚洲91在线| 五月丁香色色网| 日本精品一区二区三| 777AV电影| 99xav| 高清有码一区二区| 九色97| 91 天天综合| 日韩啪啪视频| 日韩青久久| 夜夜影视四色| AV中文字幕剧情1区2区3| 国产传媒午夜理伦精品| 熟妇视频一区二区三区在线观看| 超碰欧美97| 美女黄色一级A视频| 欧美日韩狠狠爱| 日韩无码专区| 久9爱精品| 久久 国产精品 一区| 51一区二区三区| 国产1769在线| 欧美女同在线| 日本亚洲熟女视频| 精品一区二区2| 天天色综合天天操| 亚洲双插| 久久婷婷视频| 欧美性爱超碰97| 伊人五月天| 久久97精品久久久久久久不卡| 五月丁香综合激情| 亚洲无码一区成人免费午夜| 日韩成人免费电影| 天天干人人乐| 婷婷久久综合| 天美传媒AV在线| 精品久久青青草| 日产操逼| 闷骚老熟女15P| 免费自拍三级综合| 狠狠躁天天躁日日躁| 亚洲一区二区久久久久| 狠操91,com| 思思性爱| 99精品综合久久久久五月天| 国产精品亚洲免费| 一区二区三区一亚洲中文字幕、综合区灬| 91狠狠综合久久| 九九九九九精品视频| 久久婷婷一区二| A 天堂| 夜草欧美| 中文字幕亚韩| 精品人妻久久久| 亚洲麻豆精品二区三区| 亚洲一区二区在线观看91| 澳门成人网站久国产日韩| 国产欧美日本亚洲精品| 日韩无码AB| wwwcaobibi| 精品人妻一区二区三区鲁大师| 91欧美高清| 亚洲欧洲无码bt精品合集| 欧亚成人在线视频| 国产精品99久久久www| 91爱啪| 亚洲熟妇无码一区二区三区| 免费一级黄色录像影片| 欧美综合自拍亚洲综合图| 久操热| 麻豆三极片| 久久久111| 日韩性爱网址| 亚洲精品九九九| 18岁禁 茉莉成人久久| 人人摸人人添人人操 | 男同专区一区二区三区在线| 日韩pv中文| 亚洲欧洲综合成人av一区| 天天日熟妇| 先锋精品av色鲁| 最新av中文字幕高清| 曰韩少妇无码| AA丁香综合激情| 涩综合导航| 日韩成人人妻网站| 日韩在线视频1234| 制度丝袜99| 日本欧美不卡| 妇女视频网站| 一级A啪啪啪啪| 成人国产视频在线观看| 少妇99| 色欧美天天| 一本久道在线综合视频| 久久97视频| 欧美天堂日韩三级国产传媒| 欧美日韩性爱无码| 亚洲有码视频二区| 啊啊啊好舒服视频在线观看| 91丨九色丨大屁股| 国产午夜福利专区综合| 五十路成人在线视频二区三区| 神马福利久草| 日韩丰满熟妇| 国产成人久久精品蜜臀| 久久熟女久| 亚洲欲色9532548967一区| 国产91乱伦| 老熟女网站| 久久久国产精品亚洲精品| 懂色AV一区二区三区| 黄片免费久久久久久久| 亚洲综合97| 精品无码产区一区二| 精品免费1| av一区二区三区 中文| 啪啪啪精品| 91 天天综合| 亚洲欧美国产va在线| 亚洲 欧美都市激情| 大香蕉免费乱伦视频| 亚洲欧美一区二区网址| 日韩本不卡视频在线观看 |