精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

這十種分布式ID,真香!

開發 前端
UUID (Universally Unique IDentifier) 通用唯一識別碼 ,也稱為 GUID (Globally Unique IDentifier) 全球唯一標識符。UUID是一個長度為128位的標志符,能夠在時間和空間上確保其唯一性。

前言

分布式ID,在我們日常的開發中,其實使用的挺多的。

有很多業務場景在用,比如:

  1. 分布式鏈路系統的trace_id
  2. 單表中的主鍵
  3. Redis中分布式鎖的key
  4. 分庫分表后表的id

今天跟大家一起聊聊分布式ID的一些常見方案,希望對你會有所幫助。

圖片圖片

1 UUID

UUID (Universally Unique IDentifier) 通用唯一識別碼 ,也稱為 GUID (Globally Unique IDentifier) 全球唯一標識符。

UUID是一個長度為128位的標志符,能夠在時間和空間上確保其唯一性。

UUID最初應用于Apollo網絡計算系統,隨后在Open Software Foundation(OSF)的分布式計算環境(DCE)中得到應用。

可讓分布式系統可以不借助中心節點,就可以生成唯一標識, 比如唯一的ID進行日志記錄。

UUID是基于時間戳、MAC地址、隨機數等多種因素生成,理論上全球范圍內幾乎不可能重復。

在Java中可以通過UUID的randomUUID方法獲取唯一字符串:

import java.util.UUID;

/**
 * @author 蘇三
 * @date 2024/9/13 上午10:38
 */
public class UuidTest {
    public static void main(String[] args) {
        String uuid = UUID.randomUUID().toString();
        System.out.println(uuid);
    }
}

運行結果:

22527933-d0a7-4c2b-a377-aeb438a31b02

優點:UUID不借助中心節點,可以保持程序的獨立性,可以保證程序在不同的數據庫之間,做數據遷移,都不受影響。

缺點:UUID生成的字符串太長,通過索引查詢數據的效率比較低。此外,UUID生成的字符串,順序沒有保證,不是遞增的,不滿足工作中的有些業務場景。

在分布式日志系統或者分布式鏈路跟蹤系統中,可以使用UUID生成唯一標識,用于串聯請求的日志。

2 數據庫自增ID

在很多數據庫中自增的主鍵ID,數據庫本身是能夠保證唯一的。

MySQL中的auto_increment。

Oracle中sequence。

我們在業務代碼中,不需要做任何處理,這個ID的值,是由數據庫自動生成的,并且它會保證數據的唯一性。

優點:非常簡單,數據查詢效率非常高。

缺點:只能保證單表的數據唯一性,如果跨表或者跨數據庫,ID可能會重復。ID是自增的,生成規則很容易被猜透,有安全風險。ID是基于數據庫生成的,在高并發下,可能會有性能問題。


在一些老系統或者公司的內部管理系統中,可能會用數據庫遞增ID作為分布式ID的方案,這些系統的用戶并發量一般比較小,數據量也不多。

3 數據庫號段模式

在高并發的系統中,頻繁訪問數據庫,會影響系統的性能。

可以對數據庫自增ID方案做一個優化。

一次生成一定步長的ID,比如:步長是1000,每次數據庫自增1000,ID值從100001變成了101001。

圖片圖片

將100002~101001這個號段的1000個ID,緩存到服務器的內存從。

當有獲取分布式ID的請求過來時,先從服務器的內存中獲取數據,如果能夠獲取到,則直接返回。

如果沒有獲取到,則說明緩存的號段的數據已經被獲取完了。

這時需要重新從數據庫中獲取一次新號段的ID,緩存到服務器的內存中,這樣下次又能直接從內存中獲取ID了。

優點:實現簡單,對數據庫的依賴減弱了,可以提升系統的性能。

缺點:ID是自增的,生成規則很容易被猜透,有安全風險。如果數據庫是單節點的,有巖機的風險。

4 數據庫的多主模式

為了解決上面單節點巖機問題,我們可以使用數據庫的多主模式。

即有多個master數據庫實例。

圖片圖片

在生成ID的時候,一個請求只能寫入一個master實例。

為了保證在不同的master實例下ID的唯一性,我們需要事先規定好每個master下的大的區間,比如:master1的數據是10開頭的,master2的數據是11開頭的,master3的數據是12開頭的。

然后每個master,還是按照數據庫號段模式來處理。

優點:避免了數據庫號段模式的單節點巖機風險,提升了系統的穩定性,由于結合使用了號段模式,系統性能也是OK的。

缺點:跨多個master實例下生成的ID,可能不是遞增的。

5 Redis生成ID

除了使用數據庫之外,Redis其實也能產生自增ID。

我們可以使用Redis中的incr命令:

redis> SET ID_VALUE 1000
OK

redis> INCR ID_VALUE
(integer) 1001

redis> GET ID_VALUE 
"1001"

給ID_VALUE設置了值是1000,然后使用INCR命令,可以每次都加1。

這個方案跟我們之前討論過的方案1(數據庫自增ID)的方案類似。

優點:方案簡單,性能比方案1更好,避免了跨表或者跨數據庫,ID重復的問題。

缺點:ID是自增的,生成規則很容易被猜透,有安全風險。并且Redis可能也存在單節點,巖機的風險。

6 Zookeeper生成ID

Zookeeper主要通過其znode數據版本來生成序列號,可以生成32位和64位的數據版本號,客戶端可以使用這個版本號來作為唯一的序列號。

由于需要高度依賴Zookeeper,并且是同步調用API,如果在競爭較大的情況下,需要考慮使用分布式鎖。

因此,性能在高并發的分布式環境下,也不太理想。

很少人會使用Zookeeper來生成唯一ID。

7 雪花算法

Snowflake(雪花算法)是Twitter開源的分布式ID算法。

核心思想:使用一個 64 bit 的 long 型的數字作為全局唯一 id。

圖片圖片

最高位是符號位,始終為0,不可用。

41位的時間序列,精確到毫秒級,41位的長度可以使用69年。時間位還有一個很重要的作用是可以根據時間進行排序。

10位的機器標識,10位的長度最多支持部署1024個節點

12位的計數序列號,序列號即一系列的自增id,可以支持同一節點同一毫秒生成多個ID序號,12位的計數序列號支持每個節點每毫秒產生4096個ID序號。

優點:算法簡單,在內存中進行,效率高。高并發分布式環境下生成不重復ID,每秒可生成百萬個不重復ID。基于時間戳,以及同一時間戳下序列號自增,基本保證ID有序遞增。并且不依賴第三方庫或者中間件,穩定性更好。

缺點:依賴服務器時間,服務器時鐘回撥時可能會生成重復ID。

最近整理了一份10萬字的面試寶典,可以免費送給大家,獲取方式加我微信:su_san_java,備注:面試。

8 Leaf

Leaf是美團開源的分布式ID生成系統,它提供了兩種生成ID的方式:

  • Leaf-segment號段模式
  • Leaf-snowflake雪花算法

Leaf-segment號段模式,需要創建一張表:

圖片圖片

這個模式就是我們在第3節講過的數據庫號段模式。

biz_tag用來區分業務,max_id表示該biz_tag目前所被分配的ID號段的最大值,step表示每次分配的號段長度。

原來獲取ID每次都需要寫數據庫,現在只需要把step設置得足夠大,比如1000。那么只有當1000個號被消耗完了之后才會去重新讀寫一次數據庫。

Leaf-snowflake雪花算法,是在傳統雪花算法之上,加上Zookeeper,做了一點改造:

圖片圖片

Leaf-snowflake服務需要從Zookeeper按順序的獲取workId,會緩存到本地。

如果Zookeeper出現異常,Leaf-snowflake服務會直接獲取本地的workId,它相當于對Zookeeper是弱依賴的。

因為這種方案依賴時間,如果機器的時鐘發生了回撥,那么就會有可能生成重復的ID號,它內部有一套機制解決機器時鐘回撥的問題:

圖片圖片

如果你想知道美團Leaf的更多細節,可以看看Github地址:https://github.com/Meituan-Dianping/Leaf

9 Tinyid

Tinyid是滴滴用Java開發的一款分布式id生成系統,基于數據庫號段算法實現。

Tinyid是在美團的ID生成算法Leaf的基礎上擴展而來,支持數據庫多主節點模式,它提供了REST API和JavaClient兩種獲取方式,相對來說使用更方便。

但跟美團Leaf不同的是,Tinyid只支持號段一種模式,并不支持Snowflake模式。

基于數據庫號段模式的簡單架構方案:

圖片圖片

ID生成系統向外提供http服務,請求經過負載均衡router,能夠路由到其中一臺tinyid-server,這樣就能從事先加載好的號段中獲取一個ID了。

如果號段還沒有加載,或者已經用完了,則需要向db再申請一個新的可用號段,多臺server之間因為號段生成算法的原子性,而保證每臺server上的可用號段不重,從而使id生成不重。

但也帶來了這些問題:

  • 當id用完時需要訪問db加載新的號段,db更新也可能存在version沖突,此時id生成耗時明顯增加。
  • db是一個單點,雖然db可以建設主從等高可用架構,但始終是一個單點。
  • 使用http方式獲取一個id,存在網絡開銷,性能和可用性都不太好。

為了解決這些這些問題:增加了tinyid-client本地生成ID、使用雙號段緩存、增加多 db 支持提高服務的穩定性。

最終的架構方案如下:

圖片圖片

Tinyid方案主要做了下面這些優化:

  • 增加tinyid-client:tinyid-client向tinyid-server發送請求來獲取可用號段,之后在本地構建雙號段、id生成,如此id生成則變成純本地操作,性能大大提升。
  • 使用雙號段緩存:為了避免在獲取新號段的情況下,程序獲取唯一ID的速度比較慢。Tinyid中的號段在用到一定程度的時候,就會去異步加載下一個號段,保證內存中始終有可用號段。
  • 增加多db支持:每個DB都能生成唯一ID,提高了可用性。

如果你想知道滴滴Tinyid的更多細節,可以看看Github地址:https://github.com/didi/tinyid

10 UidGenerator

百度 UID-Generator 使用 Java 語言,基于雪花算法實現。

UidGenerator以組件形式工作在應用項目中, 支持自定義workerId位數和初始化策略, 從而適用于docker等虛擬化環境下實例自動重啟、漂移等場景。

在實現上, UidGenerator通過借用未來時間來解決sequence天然存在的并發限制。

采用RingBuffer來緩存已生成的UID, 并行化UID的生產和消費, 同時對CacheLine補齊,避免了由RingBuffer帶來的硬件級「偽共享」問題. 最終單機QPS可達600萬。

圖片圖片

Snowflake算法描述:指定機器 & 同一時刻 & 某一并發序列,是唯一的。據此可生成一個64 bits的唯一ID(long)。默認采用上圖字節分配方式:

  • sign(1bit):固定1bit符號標識,即生成的UID為正數。
  • delta seconds (28 bits) :當前時間,相對于時間基點"2016-05-20"的增量值,單位:秒,最多可支持約8.7年
  • worker id (22 bits):機器id,最多可支持約420w次機器啟動。內置實現為在啟動時由數據庫分配,默認分配策略為用后即棄,后續可提供復用策略。
  • sequence (13 bits):每秒下的并發序列,13 bits可支持每秒8192個并發。

sequence決定了UidGenerator的并發能力,13 bits的 sequence 可支持 8192/s 的并發,但現實中很有可能不夠用,從而誕生了 CachedUidGenerator。

CachedUidGenerator 使用 RingBuffer 緩存生成的id。RingBuffer是個環形數組,默認大小為 8192 個(可以通過boostPower參數設置大小)。

RingBuffer環形數組,數組每個元素成為一個 slot。

Tail 指針、Cursor 指針用于環形數組上讀寫 slot:

  • Tail指針:表示 Producer 生產的最大序號(此序號從 0 開始,持續遞增)。Tail 不能超過 Cursor,即生產者不能覆蓋未消費的 slot。當 Tail 已趕上 curosr,此時可通過 rejectedPutBufferHandler 指定 PutRejectPolicy。
  • Cursor指針:表示 Consumer 消費到的最小序號(序號序列與 Producer 序列相同)。Cursor 不能超過 Tail,即不能消費未生產的 slot。當 Cursor 已趕上 tail,此時可通過 rejectedTakeBufferHandler 指定 TakeRejectPolicy。

圖片圖片

RingBuffer填充觸發機制:

  • 程序啟動時,將RingBuffer填充滿。
  • 在調用getUID()方法獲取id時,如果檢測到RingBuffer中的剩余id個數小于總個數的50%,將RingBuffer填充滿。
  • 定時填充(可配置是否使用以及定時任務的周期)。

如果你想知道百度uid-generator的更多細節,可以看看Github地址:https://github.com/baidu/uid-generator

責任編輯:武曉燕 來源: 蘇三說技術
相關推薦

2024-11-13 00:57:36

2025-09-08 00:00:01

2023-06-18 12:21:42

分布式系統模式架構設計

2022-03-24 07:51:27

seata分布式事務Java

2025-04-27 08:00:00

分布式 ID分布式系統ID

2022-10-11 11:38:23

Spring

2022-03-08 09:00:00

Kubernetes容器技術

2023-12-13 13:41:00

代碼Java程序員

2025-04-30 10:44:02

2024-10-09 14:14:07

2020-07-15 16:50:57

Spring BootRedisJava

2017-07-01 16:02:39

分布式ID生成器

2015-10-26 09:38:23

程序員工作

2019-06-24 15:30:23

編程程序員前景

2022-06-16 07:31:15

MySQL服務器服務

2019-09-05 13:06:08

雪花算法分布式ID

2023-03-05 18:23:38

分布式ID節點

2023-05-15 15:29:13

設計模式JavaScript

2024-11-19 15:55:49

2021-08-04 10:38:51

分布式 ID策略
點贊
收藏

51CTO技術棧公眾號

国产亚洲第一区| 中文字幕日韩欧美在线| 天天做天天躁天天躁| www黄色网址| 99精品福利视频| 亚洲高清福利视频| 国产乱子夫妻xx黑人xyx真爽| 丰满熟妇乱又伦| 国产精品视频久久一区| 亚洲欧美精品一区二区| 欧美黑人经典片免费观看| 深夜福利在线视频| 免费一区二区视频| 久久综合伊人77777| 91视频免费入口| 国产99在线| 国产亚洲短视频| 91精品视频在线| 国产精品国产三级国产传播| 精品国模一区二区三区欧美| 精品国产成人av| 西游记1978| 精品国自产在线观看| 午夜在线精品偷拍| 久久在线精品视频| 岛国精品资源网站| 欧美国产视频| 婷婷一区二区三区| 亚洲人成77777| 韩国av免费在线观看| 国产视频亚洲| 久久精品亚洲94久久精品| 自拍视频一区二区| 四虎影视成人精品国库在线观看| 亚洲图片欧美综合| 一本一道久久久a久久久精品91 | 欧美天堂在线视频| 日韩不卡一区二区三区| 久久九九全国免费精品观看| 亚洲久久久久久| 久久免费影院| 欧美色videos| 日本香蕉视频在线观看| 蜜桃视频在线免费| 东方欧美亚洲色图在线| 国产美女精品视频| 精品美女久久久久| 最新国产精品| 国产一区二区三区在线视频| 国产人成视频在线观看| 色综合视频一区二区三区日韩| 亚洲黄色小视频| 日产精品久久久一区二区| 国产激情久久久久久熟女老人av| 日韩精品91亚洲二区在线观看| 久久久久国产精品一区| 日韩在线一卡二卡| 国产videos久久| 精品美女被调教视频大全网站| 日韩精品你懂的| 涩涩av在线| 一区二区三区欧美亚洲| 伊人色综合影院| av资源网在线观看| 久久久91精品国产一区二区精品| 国产欧美日韩伦理| 亚洲福利在线观看视频| 寂寞少妇一区二区三区| 国产美女精彩久久| 亚洲国产无线乱码在线观看| 石原莉奈一区二区三区在线观看| 97色在线观看免费视频| 国产精品18p| 黄色欧美成人| 欧美精品一二区| 午夜精品一区二区三区视频| 亚洲成人免费| 久久婷婷国产麻豆91天堂| 制服丨自拍丨欧美丨动漫丨| 欧美精品一区二区三区中文字幕| 亚洲男人天堂2023| 西西大胆午夜视频| 亚洲理论电影| 亚洲视频在线观看视频| 91av在线免费| 免费观看不卡av| 亚洲网站在线看| 日韩欧美黄色网址| 久久国产亚洲精品| www国产亚洲精品久久网站| 天堂av网手机版| 91精品久久久久久久蜜月| 久久精品国产一区二区电影| 欧美 日韩 国产 一区二区三区| 亚洲国产老妈| 久久久久国产视频| 4438国产精品一区二区| 日韩成人免费电影| 91牛牛免费视频| 丰满肥臀噗嗤啊x99av| 成人网在线免费视频| 免费亚洲精品视频| 成年人在线观看| 国产三级欧美三级| 一区二区三区av在线| 综合久久2019| 午夜一区二区三区视频| 亚洲国产精品毛片av不卡在线| 成人精品动漫| 欧美一卡二卡三卡| 好吊色视频一区二区三区| 中文精品一区二区| 久久精品亚洲热| 免费在线不卡视频| 美女网站色91| 国产精品一区二区三区免费 | 三级久久三级久久| 国产日韩欧美黄色| 99久久久久久久| 99精品在线观看视频| 亚洲精品美女久久7777777| 91精品久久| 色悠悠久久综合| 四川一级毛毛片| 亚洲三级精品| 欧美成人自拍视频| 亚洲 欧美 中文字幕| 国产乱子伦一区二区三区国色天香| 精品一区二区三区日本| 视频免费一区| 欧美日韩免费区域视频在线观看| 东京热加勒比无码少妇| 99综合99| 在线视频免费一区二区| 国产真实乱人偷精品视频| 日本亚洲三级在线| 国产伦精品一区二区三区| 69av亚洲| 一本到高清视频免费精品| japan高清日本乱xxxxx| 青青草91久久久久久久久| 久久久久久亚洲精品不卡| 波多野结衣在线观看视频| 成人精品gif动图一区| 亚洲天堂av免费在线观看| 波多野结衣亚洲| 精品捆绑美女sm三区| 亚洲精品一区av在线播放| 我和岳m愉情xxxⅹ视频| 日韩亚洲在线| 国产一区二区无遮挡| a'aaa级片在线观看| 欧美精品一区二区精品网| 国产精品第一页在线观看| 成人黄色av网站在线| 国产黄色片免费在线观看| 爱高潮www亚洲精品| 久久久久久久久久国产| 免费观看a视频| 亚洲超碰精品一区二区| 精品国产人妻一区二区三区| 久久精品成人| 日本视频一区在线观看| 国产第一亚洲| 久久成人在线视频| www.精品久久| 午夜久久久久久久久| theav精尽人亡av| 日韩专区中文字幕一区二区| 亚洲电影网站| 日韩高清二区| 久久免费视频观看| 你懂的免费在线观看视频网站| 在线亚洲精品福利网址导航| 国产探花视频在线播放| 黄色资源网久久资源365| 欧美黄色免费网址| 在线日韩网站| 91日韩在线视频| gogo高清午夜人体在线| 亚洲欧美一区二区精品久久久| 精品国产乱子伦| 日韩一区欧美一区| av在线播放网址| 日韩一区精品视频| 亚洲小视频在线播放| 精品久久对白| 国产精品久久久久久av| bt在线麻豆视频| 亚洲免费成人av电影| 一级片在线观看视频| 亚洲成人午夜影院| 高清国产在线观看| 成人禁用看黄a在线| 天堂av在线网站| 欧美午夜一区二区福利视频| 日韩在线观看av| 91丨porny丨在线中文| 亚洲综合图片区| 国产一区二区三区四区五区六区| 久久爱另类一区二区小说| 欧美激情视频免费看| 不卡一区综合视频| 国产成人av一区二区三区| 欧美日韩国产网站| 97视频在线免费观看| 免费大片在线观看www| 日韩电影中文 亚洲精品乱码| 亚洲图片欧美在线| 欧美日韩免费在线| 久久久久亚洲AV| 国产精品青草综合久久久久99| www.四虎精品| 经典三级在线一区| 国产精品天天av精麻传媒| 伊人久久亚洲美女图片| 国产精品99久久久久久大便| 九九综合在线| 国产精品免费一区二区三区在线观看| 色成人综合网| 国产成人精品在线观看| 欲香欲色天天天综合和网| 久久6免费高清热精品| 午夜在线视频播放| 亚洲日韩中文字幕在线播放| 性xxxxbbbb| 精品国产乱码久久久久久图片| 国产又黄又粗又长| 欧美三级日本三级少妇99| 天堂网一区二区| 欧美日韩国产页| 久久久久久久9999| 亚洲欧美日韩人成在线播放| 日本视频在线免费| 欧美国产精品专区| 免费看污片网站| 久久亚区不卡日本| 日韩无码精品一区二区| 成人小视频在线| 亚洲av午夜精品一区二区三区| 韩日欧美一区二区三区| 亚洲午夜激情影院| 乱一区二区av| 在线观看免费视频高清游戏推荐| 日日骚欧美日韩| 男人的天堂日韩| 免费在线成人网| 色一情一区二区| 蜜臀久久99精品久久久久久9| 在线观看av日韩| 美国一区二区三区在线播放| 无尽裸体动漫2d在线观看| 国内精品伊人久久久久影院对白| 三上悠亚av一区二区三区| 久久99精品国产.久久久久久| 中文字幕久久av| 国产在线精品一区二区夜色| 国产不卡的av| 国产成人激情av| 国产视频久久久久久| 久久先锋影音av鲁色资源| www在线观看免费视频| 日本一区二区高清| 多男操一女视频| 一个色综合av| 毛片在线免费视频| 在线观看一区二区精品视频| 亚洲一区二区三区高清视频| 欧美一区二区三区人| 亚洲精品久久久久avwww潮水| 亚洲精品国精品久久99热一| 国产小视频免费在线网址| 中文字幕一精品亚洲无线一区| 成人欧美在线| 午夜精品久久久久久久99黑人| 成人自拍av| 成人黄色影片在线| 成人另类视频| 日韩av一区二区三区在线| 久久久久久久久99精品大| 91亚洲精品国产| 欧美综合二区| 亚洲天堂网2018| 97精品久久久午夜一区二区三区| 亚洲av成人无码久久精品| 亚洲美女视频一区| 日本三级小视频| 欧美色综合久久| 高h震动喷水双性1v1| 亚洲性生活视频在线观看| 国产精品一区二区三区视频网站| 欧美精品videossex88| 日韩成人av电影| 亚洲最大av网站| 夜夜春成人影院| 乱子伦一区二区| 天堂精品中文字幕在线| 无套内谢丰满少妇中文字幕| 久久综合久久鬼色中文字| 成年人二级毛片| 色综合久久中文综合久久97| 亚洲国产中文字幕在线| 伊人久久久久久久久久久| 波多野结衣中文在线| 国产精品偷伦一区二区| 久久男人av| 中文字幕免费在线不卡| 视频一区中文字幕| 男女性杂交内射妇女bbwxz| 中文字幕亚洲在| 黄色片免费观看视频| 日韩欧美一二三区| a天堂在线资源| 国产suv精品一区二区| 91精品丝袜国产高跟在线| 亚洲欧洲三级| 久久久久久夜| 成人在线视频免费播放| 亚洲精品视频免费看| 这里只有精品国产| 亚洲欧美国产精品久久久久久久| 性欧美videoshd高清| 国产色视频一区| 精品99在线| 国产中文字幕在线免费观看| 成人一级片在线观看| 一区二区三区四区五区| 欧美色大人视频| 成人免费高清在线播放| 日本国产一区二区三区| 免费观看成人www动漫视频| 成人免费在线视频播放| 国产一区二区三区免费在线观看 | 亚洲精品555| 欧美不卡1区2区3区| 99国产精品久久久久久久| av电影中文字幕| 亚洲精品成人悠悠色影视| 国产精品毛片久久久久久久av| 中文字幕亚洲自拍| 国精品产品一区| 精品久久免费观看| 激情综合网天天干| 日韩精品一区二区亚洲av性色| 欧美三级韩国三级日本三斤| 大片免费播放在线视频| 国产精品久久国产精品99gif| 自拍偷拍精品| 超碰97人人射妻| 国产欧美一区在线| 中文在线资源天堂| 日韩资源在线观看| 亚洲精品无播放器在线播放| 日韩视频在线观看视频| 国产一区二区三区国产| 九九免费精品视频| 精品国产凹凸成av人网站| 超碰在线cao| 久热国产精品视频一区二区三区| 校园激情久久| jizz18女人高潮| 7777精品伊人久久久大香线蕉最新版| 黄色成人影院| 成人资源av| 久久国产福利| 情侣偷拍对白清晰饥渴难耐| 日韩亚洲欧美综合| 2021天堂中文幕一二区在线观| 精品一区二区三区视频日产| 久久性天堂网| 九九热视频在线免费观看| 欧美一级精品在线| 岛国av免费在线观看| 日本午夜精品电影| 国产一区欧美二区| 日韩美女视频网站| 亚洲午夜色婷婷在线| 亚洲成人高清| 男人天堂av片| 国产亚洲综合av| 国产精品久久久久久无人区 | 亚洲激情中文字幕| 精品欧美一区二区三区在线观看| 亚洲国产另类久久久精品极度| 久久99久久99小草精品免视看| 久久国产精品波多野结衣av| 亚洲乱码国产乱码精品精| 动漫一区二区三区| 可以在线看的av网站| 国产精品麻豆99久久久久久| 精品人妻一区二区三区换脸明星| 欧美亚洲成人xxx| 亚洲大全视频| 日韩人妻一区二区三区| 欧美一区二视频| 裤袜国产欧美精品一区| 老司机激情视频| 国产欧美一区二区三区在线老狼| 亚洲欧美激情国产综合久久久| 国产精品久久久久久久av电影 |