国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

高性能短鏈設計

共 6187字,需瀏覽 13分鐘

 ·

2021-10-19 20:55

前言

今天,我們來談談如何設計一個高性能短鏈系統(tǒng),短鏈系統(tǒng)設計看起來很簡單,但每個點都能展開很多知識點,也是在面試中非常適合考察侯選人的一道設計題,本文將會結合我們生產上穩(wěn)定運行兩年之久的高性能短鏈系統(tǒng)給大家簡單介紹下設計這套系統(tǒng)所涉及的一些思路,希望對大家能有一些幫助。

本文將會從以下幾個方面來講解,每個點包含的信息量都不少,相信大家看完肯定有收獲

  • 短鏈有啥好處,用長鏈不香嗎
  • 短鏈跳轉的基本原理
  • 短鏈生成的幾種方法
  • 高性能短鏈的架構設計

注:里面涉及到不少布隆過濾器,snowflake 等技術,由于不是本文重點,所以建議大家看完后再自己去深入了解,不然展開講篇幅會很長

短鏈有啥好處,用長鏈不香嗎

來看下以下極客時間發(fā)我的營銷短信,點擊下方藍色的鏈接(短鏈)

瀏覽器的地址欄上最終會顯示一條如下的長鏈。

那么為啥要用短鏈表示,直接用長鏈不行嗎,用短鏈的話有如下好外

1、鏈接變短,在對內容長度有限制的平臺發(fā)文,可編輯的文字就變多了

最典型的就是微博,限定了只能發(fā) 140 個字,如果一串長鏈直接懟上去,其他可編輯的內容就所剩無幾了,用短鏈的話,鏈接長度大大減少,自然可編輯的文字多了不少。

再比如一般短信發(fā)文有長度限度,如果用長鏈,一條短信很可能要拆分成兩三條發(fā),本來一條一毛的短信費變成了兩三毛,何苦呢。另外用短鏈在內容排版上也更美觀。

2、我們經常需要將鏈接轉成二維碼的形式分享給他人,如果是長鏈的話二維碼密集難識別,短鏈就不存在這個問題了,如圖示

3、鏈接太長在有些平臺上無法自動識別為超鏈接

如圖示,在釘釘上,就無法識別如下長鏈接,只能識別部分,用短地址無此問題

短鏈跳轉的基本原理

從上文可知,短鏈好處多多,那么它是如何工作的呢。我們在瀏覽器抓下包看看

可以看到請求后,返回了狀態(tài)碼 302(重定向)與 location 值為長鏈的響應,然后瀏覽器會再請求這個長鏈以得到最終的響應,整個交互流程圖如下

主要步驟就是訪問短網址后重定向訪問 B,那么問題來了,301 和 302 都是重定向,到底該用哪個,這里需要注意一下 301 和 302 的區(qū)別

  • 301,代表 永久重定向,也就是說第一次請求拿到長鏈接后,下次瀏覽器再去請求短鏈的話,不會向短網址服務器請求了,而是直接從瀏覽器的緩存里拿,這樣在 server 層面就無法獲取到短網址的點擊數了,如果這個鏈接剛好是某個活動的鏈接,也就無法分析此活動的效果。所以我們一般不采用 301。
  • 302,代表 臨時重定向,也就是說每次去請求短鏈都會去請求短網址服務器(除非響應中用 Cache-Control 或 Expired 暗示瀏覽器緩存),這樣就便于 server 統(tǒng)計點擊數,所以雖然用 302 會給 server 增加一點壓力,但在數據異常重要的今天,這點代碼是值得的,所以推薦使用 302!

短鏈生成的幾種方法

1、哈希算法

怎樣才能生成短鏈,仔細觀察上例中的短鏈,顯然它是由固定短鏈域名 + 長鏈映射成的一串字母組成,那么長鏈怎么才能映射成一串字母呢,哈希函數不就用來干這事的嗎,于是我們有了以下設計思路

那么這個哈希函數該怎么取呢,相信肯定有很多人說用 MD5,SHA 等算法,其實這樣做有點殺雞用牛刀了,而且既然是加密就意味著性能上會有損失,我們其實不關心反向解密的難度,反而更關心的是哈希的運算速度和沖突概率。

能夠滿足這樣的哈希算法有很多,這里推薦 Google 出品的 MurmurHash 算法,MurmurHash 是一種非加密型哈希函數,適用于一般的哈希檢索操作。與其它流行的哈希函數相比,對于規(guī)律性較強的 key,MurmurHash 的隨機分布特征表現(xiàn)更良好。非加密意味著著相比 MD5,SHA 這些函數它的性能肯定更高(實際上性能是 MD5 等加密算法的十倍以上),也正是由于它的這些優(yōu)點,所以雖然它出現(xiàn)于 2008,但目前已經廣泛應用到 Redis、MemCache、Cassandra、HBase、Lucene 等眾多著名的軟件中。

畫外音:這里有個小插曲,MurmurHash 成名后,作者拿到了 Google 的 offer,所以多做些開源的項目,說不定成名后你也能不經意間收到 Google 的 offer ^_^。

MurmurHash 提供了兩種長度的哈希值,32 bit,128 bit,為了讓網址盡可通地短,我們選擇 32 bit 的哈希值,32 bit 能表示的最大值近 43 億,對于中小型公司的業(yè)務而言綽綽有余。對上文提到的極客長鏈做 MurmurHash 計算,得到的哈希值為 3002604296,于是我們現(xiàn)在得到的短鏈為 固定短鏈域名+哈希值 = http://gk.link/a/3002604296

如何縮短域名?

有人說人這個域名還是有點長,還有一招,3002604296 得到的這個哈希值是十進制的,那我們把它轉為 62 進制可縮短它的長度,10 進制轉 62 進制如下:

于是我們有 (3002604296)10 = (3hcCxy)10,一下從 10 位縮短到了 6 位!于是現(xiàn)在得到了我們的短鏈為 http://gk.link/a/3hcCxy

畫外音:6 位 62 進制數可表示 568 億的數,應付長鏈轉換綽綽有余

如何解決哈希沖突的問題?

既然是哈希函數,不可避免地會產生哈希沖突(盡管概率很低),該怎么解決呢。

我們知道既然訪問訪問短鏈能跳轉到長鏈,那么兩者之前這種映射關系一定是要保存起來的,可以用 Redis 或 Mysql 等,這里我們選擇用 Mysql 來存儲。表結構應該如下所示

CREATE TABLE `short_url_map` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`lurl` varchar(160) DEFAULT NULL COMMENT '長地址',
`surl` varchar(10) DEFAULT NULL COMMENT '短地址',
`gmt_create` int(11) DEFAULT NULL COMMENT '創(chuàng)建時間',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

于是我們有了以下設計思路。

  1. 將長鏈(lurl)經過 MurmurHash 后得到短鏈。
  2. 再根據短鏈去 short_url_map 表中查找看是否存在相關記錄,如果不存在,將長鏈與短鏈對應關系插入數據庫中,存儲。
  3. 如果存在,說明已經有相關記錄了,此時在長串上拼接一個自定義好的字段,比如「DUPLICATE」,然后再對接接的字段串「lurl + DUPLICATE」做第一步操作,如果最后還是重復呢,再拼一個字段串啊,只要到時根據短鏈取出長鏈的時候把這些自定義好的字符串移除即是原來的長鏈。

以上步驟顯然是要優(yōu)化的,插入一條記錄居然要經過兩次 sql 查詢(根據短鏈查記錄,將長短鏈對應關系插入數據庫中),如果在高并發(fā)下,顯然會成為瓶頸。

畫外音:一般數據庫和應用服務(只做計算不做存儲)會部署在兩臺不同的 server 上,執(zhí)行兩條 sql 就需要兩次網絡通信,這兩次網絡通信與兩次 sql 執(zhí)行是整個短鏈系統(tǒng)的性能瓶頸所在!

所以該怎么優(yōu)化呢

  1. 首先我們需要給短鏈字段 surl 加上唯一索引
  2. 當長鏈經過 MurmurHash 得到短鏈后,直接將長短鏈對應關系插入 db 中,如果 db 里不含有此短鏈的記錄,則插入,如果包含了,說明違反了唯一性索引,此時只要給長鏈再加上我們上文說的自定義字段「DUPLICATE」,重新 hash 再插入即可,看起來在違反唯一性索引的情況下是多執(zhí)行了步驟,但我們要知道 MurmurHash 發(fā)生沖突的概率是非常低的,基本上不太可能發(fā)生,所以這種方案是可以接受的。

當然如果在數據量很大的情況下,沖突的概率會增大,此時我們可以加布隆過濾器來進行優(yōu)化。

用所有生成的短網址構建布隆過濾器,當一個新的長鏈生成短鏈后,先將此短鏈在布隆過濾器中進行查找,如果不存在,說明 db 里不存在此短網址,可以插入!

畫外音:布隆過濾器是一種非常省內存的數據結構,長度為 10 億的布隆過濾器,只需要 125 M 的內存空間。

綜上,如果用哈希函數來設計,總體的設計思路如下

用哈希算法生成的短鏈其實已經能滿足我們的業(yè)務需求,接下來我們再來看看如何用自增序列的方式來生成短鏈

2、自增序列算法

我們可以維護一個 ID 自增生成器,比如 1,2,3 這樣的整數遞增 ID,當收到一個長鏈轉短鏈的請求時,ID 生成器為其分配一個 ID,再將其轉化為 62 進制,拼接到短鏈域名后面就得到了最終的短網址,那么這樣的 ID 自增生成器該如何設計呢。如果在低峰期發(fā)號還好,高并發(fā)下,ID 自增生成器的的 ID 生成可能會系統(tǒng)瓶頸,所以它的設計就顯得尤為重要。

主要有以下四種獲取 id 的方法

1、類 uuid

簡單地說就是用 UUID uuid = UUID.randomUUID(); 這種方式生成的 UUID,UUID(Universally Unique Identifier)全局唯一標識符,是指在一臺機器上生成的數字,它保證對在同一時空中的所有機器都是唯一的,但這種方式生成的 id 比較長,且無序,在插入 db 時可能會頻繁導致頁分裂,影響插入性能。

2、Redis

用 Redis 是個不錯的選擇,性能好,單機可支撐 10 w+ 請求,足以應付大部分的業(yè)務場景,但有人說如果一臺機器扛不住呢,可以設置多臺嘛,比如我布置 10 臺機器,每臺機器分別只生成尾號0,1,2,... 9 的 ID, 每次加 10 即可,只要設置一個 ID 生成器代理隨機分配給發(fā)號器生成 ?ID 就行了。

不過用 Redis 這種方案,需要考慮持久化(短鏈 ID 總不能一樣吧),災備,成本有點高。

3、Snowflake

用 Snowflake 也是個不錯的選擇,不過 Snowflake 依賴于系統(tǒng)時鐘的一致性。如果某臺機器的系統(tǒng)時鐘回撥,有可能造成 ID 沖突,或者 ID 亂序。

4、Mysql 自增主鍵

這種方式使用簡單,擴展方便,所以我們使用 Mysql 的自增主鍵來作為短鏈的 id。簡單總結如下:

那么問題來了,如果用 Mysql 自增 id 作為短鏈 ID,在高并發(fā)下,db 的寫壓力會很大,這種情況該怎么辦呢。

考慮一下,一定要在用到的時候去生成 id 嗎,是否可以提前生成這些自增 id ?

方案如下:

設計一個專門的發(fā)號表,每插入一條記錄,為短鏈 id 預留 ?(主鍵 id * 1000 - 999) 到 ?(主鍵 id ?* 1000) 的號段,如下

發(fā)號表:url_sender_num

如圖示:tmp_start_num 代表短鏈的起始 id,tmp_end_num 代表短鏈的終止 id。

當長鏈轉短鏈的請求打到某臺機器時,先看這臺機器是否分配了短鏈號段,未分配就往發(fā)號表插入一條記錄,則這臺機器將為短鏈分配范圍在 tmp_start_num 到 tmp_end_num 之間的 id。從 tmp_start_num 開始分配,一直分配到 tmp_end_num,如果發(fā)號 id 達到了 tmp_end_num,說明這個區(qū)間段的 id 已經分配完了,則再往發(fā)號表插入一條記錄就又獲取了一個發(fā)號 id 區(qū)間。

畫外音:思考一下這個自增短鏈 id 在機器上該怎么實現(xiàn)呢, 可以用 redis, 不過更簡單的方案是用 AtomicLong,單機上性能不錯,也保證了并發(fā)的安全性,當然如果并發(fā)量很大,AtomicLong 的表現(xiàn)就不太行了,可以考慮用 LongAdder,在高并發(fā)下表現(xiàn)更加優(yōu)秀。

整體設計圖如下

解決了發(fā)號器問題,接下來就簡單了,從發(fā)號器拿過來的 id ,即為短鏈 id,接下來我們再創(chuàng)建一個長短鏈的映射表即可, 短鏈 id 即為主鍵,不過這里有個需要注意的地方,我們可能需要防止多次相同的長鏈生成不同的短鏈 id 這種情況,這就需要每次先根據長鏈來查找 db 看是否存在相關記錄,一般的做法是給長鏈加索引,但這樣的話索引的空間會很大,所以我們可以對長鏈適當的壓縮,比如 md5,再對長鏈的 md5 字段做索引,索引就會小很多。這樣只要根據長鏈的 md5 去表里查是否存在相同的記錄即可。所以我們設計的表如下

CREATE  TABLE  `short_url_map` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '短鏈 id',
`lurl` varchar(10) DEFAULT NULL COMMENT '長鏈',
`md5` char(32) DEFAULT NULL COMMENT '長鏈md5',
`gmt_create` int(11) DEFAULT NULL COMMENT '創(chuàng)建時間',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

當然了,數據量如果很大的話,后期就需要分區(qū)或分庫分表了。

高性能短鏈的架構設計

在電商公司,經常有很多活動,秒殺,搶紅包等等,在某個時間點的 QPS 會很高,考慮到這種情況,我們引入了 openResty,它是一個基于 Nginx 與 Lua 的高性能 Web 平臺,由于 Nginx 的非阻塞 IO 模型,使用 openResty 可以輕松支持 100 w + 的并發(fā)數,一般情況下你只要部署一臺即可,不過為了避免單點故障,兩臺為宜,同時 openResty 也自帶了緩存機制,集成了 redis 這些緩存模塊,也可以直接連 mysql。不需要再通過業(yè)務層連這些中間件,性能自然會高不少

如圖示,使用 openResty 省去了業(yè)務層這一步,直達緩存層與數據庫層,也提升了不少性能。

總結

本文對短鏈設計方案作了詳細地剖析,旨在給大家提供幾種不同的短鏈設計思路,文中涉及到挺多像布隆過濾器,openResty 等技術,文中沒有展開講,建議大家回頭可以再詳細了解一下。再比如文中提到的 Mysql 頁分裂也需要對底層使用的 B+ tree 數據結構,操作系統(tǒng)按頁獲取等知識有比較詳細地了解,相信大家各個知識點都吃透后會收獲不小。

巨人的肩膀

https://www.cnblogs.com/rjzheng/p/11827426.html

https://time.geekbang.org/column/article/80850


往期推薦



說下你可能沒用過的EventBus,再順便送幾本書好了


沒想到,為了一個限流我寫了1萬字!


索引下推,這個點你肯定不知道!


拿捏!隔離級別、幻讀、Gap Lock、Next-Key Lock

瀏覽 26
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報
評論
圖片
表情
推薦
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 91无码精品国产AⅤ| 波多野结衣高清无码视频| 红桃91人妻爽人妻爽| 少妇高潮av久久久久久| 国产欧美日韩在线| 91视频18| 激情无码一区二区| 欧美视频h| 亚洲色人妻| 亚洲色色频| 日韩黄片视频| 日韩无码免费看| 天天综合在线观看| 天天色天天色| 日产精品久久| 日韩AAA| 麻豆精品在线| 亚洲无码人妻| 97超级碰| 午夜免费无码| 大香蕉青青| 不卡一二三区| 黄色工厂这里只有精品| 日韩免费A| 成人午夜在线视频| 密臀91| 日本无码区| 午夜AV在线| 日本A在线| Japanese在线观看| 亚洲中文字幕2019| 69自拍视频| 中文字幕www一区| 中文字幕在线观看辣文| 中文亚洲字幕| 四虎884| aaa久久| 操逼操逼逼| 日本免费版网站nba| 五月丁香婷婷开心| 天堂麻豆天美| 亚洲狼人| 麻豆视频在线观看| 自拍偷拍在线视频| 美女天堂网| 91九色91蝌蚪91成人| 欧美后门菊门交3p、| 中文字幕北条麻妃| 欧美一级特黄AAAAAA片在线视频| 日本无码久久嗯啊流水| 波多野结衣毛片| 日日夜夜精品视频| 午夜精品18| 台湾成人综合网| 波多野结衣一区二区三区在线观看| 午夜福利澳| 一区二区三区四区无码在线| 欧美成人乱码一区二区三区 | 亚洲精品无码在线播放| 午夜操人妻| 51无码| 国产激情综合| 人人操AV| 翔田千里av| 中文字幕在线观看高清| 亚洲国产天堂| 国产婷婷色| 久久大屌| 特级欧美AAAAAA| 成人免费黄色视频网站| 99久久精品国产成人一区二区 | 淫香淫色综合网| 黄色二区| 国产91在线亚洲| 一区成人| 色婷婷一区二区三区久久| 日韩av小电影| 色综合999| 日韩久久婷婷| 欧美自拍第一页| 18禁网站在线播放| 日本天堂网在线观看| 亚洲日日干| 日本三级久久| 日本黄A级A片国产免费| 亚洲搞清视频日本| 欧美视频免费操逼图。| 插进去综合图| 人人人操| 久久大香蕉视频| 欧美日韩在线播放| 黄片无码| 国产又爽又黄免费网站免费观看| 一区二区三区视频在线观看| 亚洲AV成人无码精在线| 国产精品天天干| 无码一区在线观看| 五月丁香影院| 成人在线一区二区| 大香蕉伊人综合| 黄色免费在线观看视频| 91成人视频18| 91人人澡人人爽人人看| 欧美日韩精品在线| 国产内射在线观看| 欧美日韩国产精品| 水果派AV解说| 亚洲一区二区无码| 国产成人视频| 日韩理论片| 国产精品9999| 欧美色成人免费在线视频| 亚洲免费在线| 黃色A片一級二級三級免費久久久 亚洲AV无码第一区二区三区蜜桃 亚洲综合免费观看高清完整版在线 | 国产香蕉视频在线观看| 三上悠亚无码破解69XXX| 青青草成人网站| 国产美女高潮视频| 国产男女啪啪视频| 欧美日韩在线电影| 好吊妞在线| 国产成人无码在线| 中文字幕乱码中文字乱码影响大吗 | 中文字幕精品在线| 国产AV影院| 甘肃WBBBB搡wBBBB| 婷婷色综合视频二区| yOujiZZ欧美精品| 亚洲天堂天天| 日本黄色视频官网| 久操精品视频| 国产女人18| 午夜无码精品| 日韩中字幕无码| 成年人视频免费| 婷婷丁香色五月| 东方av在| 亚洲中文字幕在线看| 国产三级在线观看视频| 国产视频二区| 免费精品99| 国产一区无码| 中文字幕无码在线| 奇米影视色偷偷| 中文字幕在线观看a| 人妻少妇中文字幕久久牛牛| 日韩干| 91亚洲国产成人精品一区二区三 | 国产一级婬女AAAA片季秀英| 激情片AAA| 亚洲色视频在线观看| 伊人综合色| 国产欧美精品一区二区三区 | 久久激情网| 91乱伦视频| 久久久久久国际四虎免费精品视频 | 亚洲xxxxx| 日本爱爱网站| 在线观看国产| 成人免费毛片片v| 无码日逼视频| 91逼| 一区二区在线免费观看| 特级婬片A片AAA毛片AA做头| 国产黄色视频免费| www.狠狠撸| www.天天干| 一道本一区二区三区免费视频| 国产AV网| 十八无码成人免费网站| 久久精品免费电影| 啊v在线| 黄色片视频在线观看| 国产在线视频你懂的| 91精品久久久久久久| 亚洲秘无码一区二区三区欧美| 免费中文字幕视频| 欧美天天性| 日韩無码专区| 国产区在线| 国产三级片自拍| 97人人草| 中文字幕在线观看一区| 国产精品秘入口18禁网站| 中文字幕一区三区人妻视频| 中文字幕+乱码+中文乱码91在线观看 | 国产嫩草精品A88AV| 丰满人妻一区二区三区蜜桃视频| 水果派av| 色94色.欧美.setu| 免费肏屄| 三级无码在线观看| 97大香蕉视频| 白浆av| 狠狠的操| 国产精品久久免费视频| 亚洲免费观看高清完| 成人午夜精品无码区| 大香蕉精品欧美色综合2025 | 成人av免费在线观看| 大香蕉一区二区三区| 黄色视频白丝| 天堂中文资源在线观看| 高清无码在线免费观看视频| 美女白嫩嫩大BBB欣赏| 神马午夜久久| 亚洲任你操超碰在线| 成人毛片一区二区三区| 无码国产精品一区二区视频| 黄页网址在线观看| 精品91海角乱| 专业操美女视频网站| jizz日本护士| 国产av三级| 四虎永久在线精品| 欧美一卡二卡三卡| 中文字幕免费看高清| 国产黄色一级电影| 亚洲精品视频免费观看| 九哥草逼网| 成人精品在线观看| 亚洲情在线| AV国产高清| 欧美性爱69| 中文字幕视频在线播放| 一级久久| 中文字幕精品一区久久久久| 就要操逼| 国产精品夜夜爽7777777| 亚洲国产91| 中国女人如毛片| 91精品丝袜久久久久久| 69色综合| 九九热精品在线| 88av在线观看| 欧美性生交18XXXXX无码| 东京热在线视频观看| 在线观看国产免费视频| 北条麻妃在线播放一区| 丁香婷婷五月基地| 亚洲精品久久久久久久久久久| 亚洲精品乱码| 99日韩无码| www.xxx国产| 国产美女全裸网站| 91日韩| 男女啪啪啪| 亚洲AV无码成人精品区在线欢看| 成人看片黄a免费看视频| 精品人妻一区二区三区鲁大师| 天天操天天射天天爽| 日韩欧美在线中文字幕| 亚洲欧美日韩一区二区| 国产香蕉视屏| 成人自拍电影| 在线你懂得| 欧美性爱在线观看| 色丁香在线| 久久久久麻豆V国产精华液好用吗| 色色看片| AV三级片网站| 麻豆传媒在线| 六月婷婷久久| 亚色网址| 一级a免一级a做免费线看内裤| 99这里有精品| 69AV视频| 国产乱叫456在线| 久一视频| 中文字幕一区二区无码成人| 国产成人V在线精品一区| 91久热| 二区视频| 秋霞网一区二区| 2021国产视频| 黄片aaa| 黑人av在线观看| 亚洲社区在线观看| 西西特级无码444www| 婷婷激情五月综合| 人妻天天爽夜夜爽| 精品A片| 特级西西444WWW高清大视频| 丁香五月亚洲| 伊人久久影院| 国产一区二区免费在线观看| 亚洲天堂高清| 操逼视频大全| 一本色道久久综合亚洲怎么玩| 天天色天天色天天色| 五月丁香在线视频| 日韩欧美性爱视频| 在线免费看a片| 伊人婷婷色香综合| 特级西西人体444www高清| 自拍偷拍成人视频| 日本少妇久久| 日韩AV一级| 欧美在线中文字幕| 精品国产精品三级精品AV网址| 蜜桃网站在线观看| 亚洲性爱网站| 91久久精品日日躁夜夜躁欧美| 亚洲精品97久久中文字幕| 性欧美成人播放77777| 欧美精产国品一二三区别| 99无码视频| 五月婷婷俺也去| 国内精品久久久久久久| 91av在线播放| 国产精品久久久久久久9999| 天天干天天拍| 丰满的人妻一区二区10| 五月天AV在线| 久久久久国产| 97干视频| 久久久9999| 午夜成人精品一区二区三区 | 超碰v| 日日爽| 国产激情都市一区二区三区欧美 | 免费v片在线观看| 国产91一区在线精品| 亚洲AV无码精品国产| 涩婷婷| 亚洲成人高清在线| 亚洲欧美在线播放| 日韩一区二区三区在线视频| 国产成人在线免费| 中文字幕一区二区蜜桃| 亚洲精品一二| 另类AV| 色欧美视频| 四虎精品影院| 日韩AA片| 成人特级毛片全部免费播放| 欧美一级电影| 久久精品国产精品| 中文字幕在线观看a| 国产三级在线免费观看| 五十路在线| 天堂在线中文网| 亚洲无码AV电影| 亚洲高清毛片一区二区| 91在线无码精品秘蜜桃入口| 噜噜噜噜射| jizzjizz欧美| 高清av免费| 高清无码视频18| 国产一级A片| 丁香网五月天| 久久国产乱子伦精品免费女,网站 一区二区三区免费观看 | 热久久伊人| 无码激情| 97AV在线| 91视频在线免费观看| 精品成人影视| 日韩人妻精品中文字幕| wwwwww黄| 超碰免费在线观看| 免费高清无码| 91青青| 天天草av| av毛片| 四川少BBB搡BBB爽爽爽| 国产乱婬AAAA片视频| 中文字幕+乱码+中文乱码视频在线观看| 免费A视频| 狠狠狠狠狠狠狠狠狠狠| 色老汉视频| 操b视频在线播放| 青青草无码成人天堂免费| 日韩视频中文字幕在线| 亚洲精品国产AV| 人人弄| 无码三级在线观看| 男女拍拍拍拍| 国产激情自拍| 69视频在线播放| 国产精品视频| 午夜精品人妻无码| 男人天堂中文字幕| 这里只有精品在线观看| 密臀福利导航| 成人欧美视频| 99热在线中文字幕| 色性网| 中文在线第一页| 青青成人| 久久久久亚洲AV无码专区| 无码专区一区二区三区| AV在线四季综合网站| 黄色一级网站| 成人性爱视频网站| 日韩人妻无码一区二区三区中文 | 国产丝袜人妖TS系列| 欧美一二三区黄色免费视屏 | 中文字幕亞洲高清手機版第617| 日韩精品无码一区二区三区| 青青操在线观看| 亚洲无码AV一区二区| 翔田千里无码| 五月丁香狠狠爱| se婷婷| 日韩中文在线视频| 国产成人自拍视频在线| 免费观看av| 无码一区视频| 免费黄色小视频| 三级片一区| 国产亚洲色情| 成人无码区免费A片| 91探花秘入囗| 中文字幕免费在线| 亚洲无码人妻视频| 美女大吊,网站视频| 国产116页| 一级免费爱爱视频| 国产成人一区二区三区| 国产美女福利| 初学影院WWWBD英语完整版在线观看| 亚洲天堂无码高清| 成人性爱自拍| 亚洲一区在线播放| 国产一级a毛一级a毛观看视频网站www.jn | 特一级黄色电影| 亚洲精品成a人在线观看| 97精品超碰一区二区三区| 91精品国产综合久久久蜜臀酒店| 精品中文字幕在线| 日本精品久久| 国产免费a| 97超碰人人摸| 日韩在线一区二区| 中文字幕无码人妻在线视频| 国内免费毛片| 国产精品成人免费精品自在线观看 | 91福利区| 手机免费AV| 青青草原在线免费| 在线中文字幕777| 中文字幕免费视频在线观看| 天堂性爱AV| 久草在线| 日本一级大毛片a一| 簧片网站免费| 久艹视频在线观看| 国产女人18毛片水18精品| 日本久久精品| 九九色影院| 国內精品久久久久久久| 大香蕉精品欧美色综合2025 | 日本一区中文字幕| 北条麻妃视频在线| 国产一级黄| 久久国产高清视频| 91狠狠综合| 三级片一区| 日本一区二区三区四区在线观看| 超碰成人福利| 成人在线免费电影| 乱伦乱伦乱伦中文字幕| 成人无码中文字幕| 熟女少妇一区二区三区| 色五月天导航| 日韩天天操| 欧美激情在线观看| 91破处网站| 黄色激情五月天| 久久国内| 91亚洲国产成人精品一区二区三 | 五月丁香婷婷综合网| 亚洲视频在线免费| 97爱| 亚洲无码字幕| 日韩欧美三级在线| 国产激情欧洲在线观看一区二区三区| 无码av免费精品一区二区三区| 深爱激情五月婷婷| 99re欧美激情| 人妻FrXXeeXXee护士| 色爱av| 毛片2| 国产无码激情视频| 超碰在线无码| 热久久最新| 欧美性爱在线| 狠狠狠狠干| 永久av| 麻豆国产成人AV一区二区三区| 毛片久久| 最近中文字幕在线中文字幕7| 人妻丰满熟妇av无码| 久久久久9999| 亚洲免费黄色电影| 欧美人妻无码| 国产高清AV无码| 怡春院免费视频| A片免费在线播放| 密桃视频网站| 久久久亚洲AV| 内射免费看| 岛国av免费看| 国产精品久久久久久久久借妻| www.操操网| 尻屄视频在线观看| 一二区免费视频| 中文一区在线观看| 搞AV网| 午夜看片| 国产第56页| 北京熟妇搡BBBB搡BBBB电影| 午夜国产精品AV| 日韩国产av| 蜜桃久久久亚洲精品| 日韩欧美在线一区| 亚洲去干网| 色情视频在线观看| 日韩AV在线免费| 久久精品波多野结衣| 无码精品人妻一区二区| 五月天婷婷影院| 日韩爱爱网| 开心五月激情网| 婷婷伊人久操网| 辽宁模特张雪馨视频最新| 激情性爱五月天| 欧美一级视频在线观看| 欧美亚洲国产一区二区三区| 午夜福利电影无码| 影音先锋一区二区三区| 国产资源在线观看| 午夜资源网| 高清无码成人视频| 天天添夜夜添| 嫩BBB嫩BBB嫩BBB| 日本爱爱视频免费| 成人aV无码精品国产一区二区 | 强奷伦奷片91| 在线观看免费A片| 无码中文在线| 黄片网站入口| 欧美成人精品无| 伊人网址| 无码免费视频在线观看| 成人无码久久| 蜜臀久久99精品| www.seses| 狼友视频报放| 成人a毛片| 99国产精品免费视频观看8| 青青色在线视频| 国产无码一二三区| 黄色电影毛片| 中文无码在线| 久草综合在线| 国产日韩欧美视频| 一本一本久久a久久精品牛牛影视| 亚洲Av秘无码一区二区| www.av免费| 国产黄色av| 色综合久久88色综合天天99| 日逼视频免费| 超碰人人操人人摸| 人人操狠狠操| 五月婷婷狠狠爱| 99久久免费网| 亚州成熟少妇视频在线观看| 香蕉操逼视频| 高潮AV在线观看| 国产av三级| 成人网站大香蕉| 茄子av| 午夜性爽视频男人的天堂| 中文字幕在线观看视频www| 亚洲精品一二三区| 天天日天天搞| 欧美日韩色情| 天天天做夜夜夜爽无码| 人人爽亚洲AV人人爽AV人人片| 日韩免费AV| 亚洲中文字幕在线免费观看视频| 91亚洲精品乱码久久久久久蜜桃 | 黄色片网站免费观看| 国产成人秘在线观看免费网站| 熟妇高潮一区二区高潮| 制服毛片| 在线观看高清无码| 黄色A级毛片| 日韩精品三级片| 北条麻妃黄色视频| 亚洲成人AV电影| 国产91探花精品一区二区| 人妻丰满熟妇av无码| 伊人精品大香蕉| 人人操人人爱人人拍| 男人天堂影院| 蜜臀久久99精品久久久电影| 亚洲无码视频网站| 高潮国产视频| 人人操人人摸人人看| 中文字幕99页| 中文字幕无码影院| 特黄色A级片视频| 亚洲一区自拍| 污污污污污www网站免费民国| np高辣调教视频| 中文字幕亚洲视频| 国产一级婬片A片| 在线国产小视频| 91小视频在线观看| 91久久久久国产一区二区| 自拍偷拍网址| 国产成人激情视频| 国产精品久久久久久久牛牛| 无码人妻精品一区二区蜜桃网站 | 无码无卡| 大伊香蕉久久| 女人av天堂| 伊人激情五月| 国产A片一区| 西西444WWW无码视频软件| 大香蕉精品欧美色综合2025| 爱爱导航| 国产熟妇码视频户外直播| 亚洲无码视频观看| 日韩久久精品| 国产91白丝在一线播放| 日韩无码首页| 成人三级电影在线观看| 日本翔田千里奶水| 男女拍拍免费视频| 高清无码二区| 国产3级片| 午夜精品人妻无码| 天天日,天天干,天天操| 青娱乐网站| 肏逼综合网| 日韩人妻在线播放| 久久精品视频国产| 秋霞欧美在线| 一区二区免费在线观看| 日本乱轮视频| 中文资源在线√8| 一区二区三区麻豆| 苏妲己一级婬片A片| 欧美色图网址| 骚视频网站| 亚洲欧洲在线播放| 精品孕妇一级A片免费看| 黑人Av在线| 亚洲天堂2014| 91久久影院| 成人国产精品在线观看| 少妇激情网站| 欧美色乱| 蜜桃av秘无码一区二区三| 日都一级A片| 色丁香视频在线观看的| 四虎无码丰满人妻| 日韩无任何视频在线观看| 麻豆免费版在线观看| 国产探花视频在线免费观看| 黄工厂精品视频在线播| 91大长腿美女花外围在线观看| 亚洲秘AV无码一区二区qq群| 国产顶级理伦| 狼友视频第二页| 六月丁香五月天| 俺来了俺去了www色官网| 国产黄色AV片| 搞搞网日本9| 日韩视频免费看| 黄色av免费看| 亚洲欧美日韩在线| 亚洲中文无码在线观看| 国产嫩草影院| 制服丝袜一区| 激情自拍偷拍| 91久久久久久久久久久久18| 熟女少妇一区二区| 日本黄色电影在线观看| 国产无码三级| www.簧片| 俺去俺来WWW色官方| 北条麻妃在线中文字幕| 婷婷丁香五月社区亚洲| 亚洲欧美v| 国产九色| 午夜无码在线| 黄色成人在线视频| 日逼无码| 黄片网站免费观看| www.99热| 成人AV免费观看| 天天综合字幕一区二区| 欧美成人精品一级| 男人的天堂婷婷| 国产日韩一区二区三免费高清| 亚洲无码中文字幕在线| 国产成人网站免费观看| 日韩av小电影| 午夜爽爽爽| 五月中文字幕| 高H视频在线观看| 亚洲无码网| 在线播放你懂的| 五月婷婷色| 日韩精品一区二区三区四区| 久久人人做| 高清人妻无码| 青青青国产在线| 大香蕉少妇| 91麻豆福利| 色婷婷五月天在线观看| 九九九免费| 日韩精品三级片| 国产无码片| 亚洲av在线观看| 影音先锋av在线资源站| 亚洲A网站| 91嫩草久久久久久久| 免费国产乱伦| 日本国产视频| av中文字幕无码| 91精品久久久久久久久| 欧美激情亚洲| 国产成人99久久亚洲综合精品| 麻豆乱伦| 亚洲第一狼人综合网| 天堂无码视频在线播放| 天堂中文资源在线观看| 天天色色天天| 成人午夜在线视频| 亚洲无码在线免费视频| 欧美日韩在线一区| 安徽扫搡BBBB揉BBBB| 99色色| 欧美东京热视频| 成人高清在线| 欧美视频h| 亚洲在线一区| 亚洲日韩一级片| 日韩无码激情| 日韩在线观看| 18+免费网站| a片免费网址| 亚洲精品乱码久久久久久久| 狠狠干在线观看| 中文字幕精品无码一区二区| 黄色免费在线观看视频| 日韩黄色视频| 亚洲A网站| 中文免费高清在线| 日韩免费a| AV大全在线观看| 91成人视频在线播放| www.四虎成人网站| 婷婷久草网| 中文字幕在线无码观看| 操操操av| 国产精品高潮无套内谢| 去干网欧美| 国产激情AV| 一级二级无码| www.黄色av| 91香蕉国产视频| 国产精品99久久久久久成人| 91资源在线| 国产高清av| 亚洲视频在线观看中文字幕| 天天草视频| 高清无码三级片在线观看| 黄片视频在线免费观看| 闷骚艳岳的婬乱生活视频| 成人免费黄| 伊人久久大香蕉国产| 日本亚洲中文字幕| 亚洲1区2区| 欧美日韩精品在线| 成人aV免费观看| 国产字幕在线观看| 日本三级片网址| 欧美VA| 豆花视频成人| 吴梦梦《女教师时间暂停》| 天堂成人av| 国产精品视频在线免费观看| 91免费高清视频| 成人a毛片| 欧美成人片免费看| 久久久WWW成人免费无遮挡大片| 粉嫩99精品99久久久久| 日韩操逼网站| 波多野结衣视频网站| 中文字幕乱码亚洲无线码按摩| 最新中文| 一本色道无码道| 中国字幕在线观看韩国电影| 国产色片| 51精品国产午夜福利| 人人操人人模| 日韩中文一区| 九九热在线视频| 999久久久久| 中文字幕日本| 日韩天天| h网站在线观看| 免费国产h| 亚洲手机在线播放| 91久久综合| 激情操逼| 内射学生妹视频| 青青草成人AV| 91国产视频在线观看| 俺去俺来也www色视频| 精品一区二区三区av| 丁香五月婷婷基地| 成人av中文字幕| 91免费观看视频| 一道本视频在线| 亚洲一区翔田千里无码| 张柏芝BBw搡BBBB槡BBBBHDfree | 熟女少妇视频| 色婷婷影院| 久久久久久国际四虎免费精品视频 | 欧美一区二区三区在线观看| 韩无码| 久久久久久久网| 日韩AV综合| 豆花视频在线观看| 色五月婷婷小说| 黄色电影一区二区| 无码人妻av黄色一区二区三区| 天天色色婷婷| 日本免费版网站nba| 亚洲中文婷婷| 午夜一区二区三区| 日本三级片无码| 三级片高清无码| 人妻熟女字幕一区二区| 麻豆黄网| 亚洲天堂影音先锋| 免费AA片| 国产精品天天AVJ精麻传媒| 无码另类| 国产嫩BBwBBw高潮| 免费亚洲婷婷| 丰满人妻一区二区三区精品高清 | 久久久青草| a天堂视频| 免费看A级片| 日韩在线一区二区三区四区| 国产香蕉网| 日韩视频免费观看高清完整版在线观 | 国产av毛片| 一级片在线播放| 围内精品久久久久久久久白丝制服 | 山东wBBBB搡wBBBB| 无码不卡一区| 天天射天天操天天干| 九九九精品视频| 久久久女女女女999久久| 影音先锋男人资源网| 欧美老逼| 性爱视频91| 日韩一区二区三区精品| AV女人天堂| 天天摸天天添| 91黄色视频在线播放| 重庆美女揉BBBB搡BBBB| 偷窥丶亚洲丶熟女| 黑人一区二区| 久久水蜜桃| 综合久久av| 一区二区三区四区五区无码| 精品国产无码怀孕| 亚洲精品久久久久毛片A级牛奶 | 欧美性猛交XXXX乱大交3| 安徽妇搡BBBB搡BBBB,另类老妇| 无码久| 国产精品AV在线| 亚洲一区色| 成人片免费看| 国产成人无码A片V99| 成人AV一AV二| 日本毛片视频| 欧美成人视频| 亚洲午夜无码久久久| 国产91精品看黄网站在线观看| 色色色无码| 超碰极品| av电影在线观看| 正在播放无码| 熟女少妇一区二区三区| 天天射天天| 亚洲成人高清在线| 中日韩无码| 天天爽夜夜爽精品成人免费| 黄色成人视频免费看|