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

如何設計一個分布式 ID 發號器?

網絡 通信技術
設計「分布式 ID 發號器」就成為了一個非常常見的系統設計問題。今天我將帶大家一起學習一下,如何設計一個分布式 ID 發號器。

?大家好,我是樹哥。

在復雜的分布式系統中,往往需要對大量的數據和消息進行唯一標識,例如:分庫分表的 ID 主鍵、分布式追蹤的請求 ID 等等。

于是,設計「分布式 ID 發號器」就成為了一個非常常見的系統設計問題。今天我將帶大家一起學習一下,如何設計一個分布式 ID 發號器。

圖片

文章思維導圖

系統訴求

對于業務系統而言,對于全局唯一 ID 一般有如下幾個需求:

  • 全局唯一。生成的 ID 不能重復,這是最基本的要求,否則在分庫分表的場景下就會造成主鍵沖突。
  • 單調遞增。保證下一個 ID 大于上一個 ID,這樣可以保證寫入數據庫的時候是順序寫入,提高寫入性能。

對于上面兩個需求來說,第一點是所有系統都要求的。而第二點則并不是所有系統都需要,例如分布式追蹤的請求 ID 就可以不需要單調遞增。而那些需要存到數據庫里作為 ID 逐漸的場景,可能就需要保證全局唯一 ID 是單調遞增的。

此外,我們可能還需要考慮安全方面的問題。如果一個全局唯一 ID 是順序遞增的,那么有可能會造成業務信息的泄露。例如訂單 ID 每次遞增 1,那么競爭對手直接通過訂單 ID 就可以知道我們每天的訂單數,這對于業務來說是不可接受的。

對于上述的訴求,現在市面上有非常多的唯一 ID 解決方案,其中最為常見的方案有如下 4 種:

  • UUID
  • 類雪花算法
  • 數據庫自增主鍵
  • Redis 原子自增

UUID

UUID 全稱叫 Universally Unique Identifier,即全局唯一標識符,它是 Java 中自帶的 API。 一個標準的 UUID 包含 32 個 16 進制的數字,以中橫線作為分隔符分為 5 段,每段的長度分別為 8 字符、4 字符、4 字符、4 字符、12 字符,大小為 36 個字符,如下圖所示。一個簡單的 UUID 示例:630e4100-e29b-33d4-a635-246652140000。

圖片

UUID 構成示意圖

對于 UUID 這種唯一 ID 解決方案,優點是沒有外部依賴,純本地生成,因此其性能非常高。但缺點也是非常明顯的:

字段非常長,浪費存儲空間。UUID 一般長度為 36 個字符串,如果作為數據庫主鍵存儲,極大地增加索引的存儲空間。

非自增,降低數據庫寫入性能。UUID 不是自增的,如果作為數據庫主鍵,那么無法實現順序寫,從而會降低數據庫寫入性能。

沒有業務含義。UUID 是沒有業務含義的,我們無法從 UUID 中獲取到任何含義。

因此,對于 UUID 而言,其比較適用于非數據庫 ID 存儲的情況,例如生成一個本地的分布式追蹤請求 ID。

類雪花算法

雪花算法(SnowFlake)是 Twitter 開源的分布式 ID 生成算法,其思路是用 64 位來表示一個 ID,并將 64 位分割成 4 個部分,如下圖所示。

圖片

雪花算法唯一 ID 構成示意圖

  • 第一個部分:1 位。固定為 0,表示為正整數。二進制中最高位是符號位,1 表示負數,0 表示正數。ID 都是正整數,所以固定為 0。
  • 第二個部分:41 位。表示時間戳,精確到毫秒,可以使用 69 年。時間戳帶有自增屬性。
  • 第三個部分:10 位。表示 10 位的機器標識,最多支持 1024 個節點。此部分也可拆分成 5 位 datacenterId 和 5 位 workerId,datacenterId 表示機房 ID,workerId 表示機器 ID。
  • 第四部分:12 位。表示序列化,即一些列的自增 ID,可以支持同一節點同一毫秒生成最多 4095 個 ID 序號。

雪花算法的優點是:

  • 有業務含義,并且可自定義。雪花算法的 ID 每一位都有特殊的含義,我們從 ID 的不同位數就可以推斷出對應的含義。此外,我們還可根據自身需要,自行增刪每個部分的位數,從而實現自定義的雪花算法。
  • ID 單調增加,有利于提高寫入性能。雪花算法的 ID 最后部分是遞增的序列號,因此其生成的 ID 是遞增的,將其作為數據庫主鍵 ID 時可以實現順序寫入,從而提高寫入性能。
  • 不依賴第三方系統。雪花算法的生成方式,不依賴第三方系統或中間件,因此其穩定性較高。
  • 解決了安全問題。雪花算法生成的 ID 是單調遞增的,但其遞增步長又不是確定的,因此無法從 ID 的差值推斷出生成的數量,從而可以保護業務隱私。

雪花算法幾乎可以是非常完美了,但它有一個致命的缺點 —— 強依賴機器時間。 如果機器上的系統時間回撥,即時間較正常的時間慢,那么就可能會出現發號重復的情況。

對于這種情況,我們可以在本地維護一個文件,寫入上次的時間戳,隨后與當前時間戳比較。如果當前時間戳小于上次時間戳,說明系統時間出了問題,應該及時處理。

整體而言,雪花算法不僅長度更短,而且還具有業務含義,在數據庫存儲的場景下還能提高寫入性能,因此雪花算法生成分布式唯一 ID 受到了大家的歡迎。 

現在許多國內大廠的開源發號器的實現,都是在雪花算法的基礎上做改進,例如:百度開源的 UidGenerator、美團開源的 Leaf 等等。這些類雪花算法的核心都是將 64 位進行更合理的劃分,從而使得其更適合自身場景。

數據庫自增主鍵

說起唯一 ID,我們自然會想起數據庫的自增主鍵,因為它就是唯一的。

對于并發量低的情況下,我們可以直接部署 1 臺機器,每次獲取 ID 的時候就往數據庫表插入一條數據,隨后返回主鍵 ID。

這種方式的好處是非常簡單,實現成本低。此外,生成的唯一 ID 也是單調自增的,可以滿足數據庫寫入性能的要求。

但其缺點也非常明顯,即其強依賴數據庫。當數據庫異常的時候,會造成整個系統不可用。即使做了高可用切換,主從切換時數據同步不一致時,仍然可能造成重復發號。

另外,由于是單機部署,因此其性能瓶頸限制在單臺 MySQL 機器的讀寫性能上,注定無法承擔起高并發的業務場景。

對于上面說到的性能問題,我們可以通過集群部署來解決。而集群部署之后的 ID 沖突問題,我們可以通過設置遞增步長來解決。例如如果我們有 3 臺機器,那么我們就設置遞增步長為 3,每臺機器的 ID 生成策略為:

  • 第 1 臺機器,從 0 開始遞增,步長為 3,生成的 ID 分別是:0、3、6、9 等等。
  • 第 2 臺機器,從 1 開始遞增,步長為 3,生成的 ID 分別是:1、4、7、10 等等。
  • 第 3 臺機器,從 2 開始遞增,步長為 3,生成的 ID 分別是:2、5、8、11 等等。

這種方式解決了集群部署以及 ID 沖突的問題,可以在一定程度上提升并發訪問的容量。但其缺點也比較明顯:

只能依賴堆機器提高性能。當請求再次增多時,我們只能無限堆機器,這貌似是一種物理防御一樣。

水平擴展困難。當我們需要增加一臺機器時,其處理過程非常麻煩。首先,我們需要先把新增的服務器部署好,設置新的步長,起始值要設置一個不可能達到的值。當把新增的服務器部署好之后,再一臺臺處理舊的服務器,這個過程真的非常痛苦,可以說是人肉運維了。

Redis 原子自增

由于 Redis 是內存數據庫,其強大的性能非常適合用來實現高并發的分布式 ID 生成。基于 Redis 實現自增 ID,其主要還是利用了 Redis 中的 INCR 命令。該命令可以將某個數自增一并返回結果,并且這個操作是原子操作。

通過 Redis 實現分布式 ID 功能,其模式與通過數據庫自增 ID 類似,只是存儲介質從硬盤變成了內存。當單臺 Redis 無法支撐并發請求的時候,Redis 同樣可以通過集群部署和設置步長的方式去解決。

但數據庫自增主鍵有的問題,Redis 自增 ID 的方式也同樣會有,即只能堆機器,同時水平擴展困難。此外,比起數據庫存儲的持久化,Redis 是基于內存的存儲,需要考慮持久化的問題,這同樣是一個頭疼的問題。

總結

看了這么多個分布式 ID 的解決方案,那么我們到底應該選哪個呢?

當我們在決策的時候,我們應該確定決策的維度。對于這個問題,我們應該關注的維度大致有:研發成本、并發量、性能、運維成本。

首先,對于 UUID 而言,其在各個方面其實都不如雪花算法,唯一的優點是 JDK 自帶 API。因此,如果你只是極其簡單地使用,那么就直接使用 UUID 就可以,畢竟雪花算法還得寫一寫實現代碼呢。

其次,對于類雪花算法而言,其毋庸置疑是非常好的一種實現。與 UUID 相比,其不僅有 UUID 本地生成、不依賴第三方系統的優點,還有業務含義、能提高寫入性能、解決了安全問題。但其缺點在于要實現雪花算法的代碼,因此其研發成本稍稍比 UUID 高一些。

最后,對于數據庫自增 ID 與 Redis 原子自增這兩種方式。數據庫自增 ID 的方式,其優點同樣在于簡單方便,不需要太高的研發成本。但其缺點是支撐的并發量太低,并且后續運維成本太高。因此,數據庫自增 ID 這種方式,應該適用于小規模的使用場景下。而 Redis 原子自增的方式,其優先在于能支撐高并發的場景。但缺點是需要自行處理持久化問題,運維成本可能比較高。

本人更傾向于數據庫自增方式。這兩種方式都是非常類似的,唯一的區別是存儲介質。Redis 原子自增方式非常快,可能單機可以是數據庫方式的好幾倍。但是如果要考慮持久化的問題,那對于 Redis 來說就太復雜了。

我們把上面這四種實現方式整理一下,可以匯總成下面的對比表格:

實現方案

優點

缺點

使用場景

UUID

性能高、不依賴第三方、研發成本低

字段長浪費存儲空間、ID 不自增寫入性能差、無業務含義

非常簡單的使用場景(用于簡單測試)

類雪花算法

有業務含義、單調遞增寫入性能好、不依賴第三方、業務安全

強依賴機器時間

高并發、業務場景復雜、需要將 ID 暴露給外部系統

數據庫自增 ID

研發成本低、單調遞增寫入性能好

依賴數據庫、只能堆機器提高性能、維護成本高

對持久性有要求,不暴露給外部系統

Redis 原子自增

高并發、單調遞增寫入性能好

依賴 Redis、有業務問題、有持久性問題

對持久性沒要求,不暴露給外部系統

總的來說,如果站在長期使用考慮,那么運維成本、高并發肯定是需要考慮的。在這個基礎條件下,類雪花算法與數據庫自增 ID 或許是相對好的選擇。

參考資料

  • 分布式系統全局發號器的幾點思考 - 掘金
  • VIP!!非常好!Leaf—— 美團點評分布式 ID 生成系統 - 美團技術團隊
  • (8 條消息) 六種方式實現全局唯一發號器_北鶴 M 的博客 - CSDN 博客_發號器
  • VIP!!不錯,擴展視野!10 | 發號器:如何保證分庫分表后 ID 的全局唯一性??
責任編輯:武曉燕 來源: 樹哥聊編程
相關推薦

2017-04-06 15:15:02

多場景分布式發號器

2024-10-07 08:52:59

分布式系統分布式 IDID

2023-03-06 08:14:48

MySQLRedis場景

2016-09-30 10:13:07

分布式爬蟲系統

2018-09-06 22:49:31

分布式架構服務器

2023-09-04 08:45:07

分布式配置中心Zookeeper

2024-07-15 08:25:07

2021-11-01 12:25:56

Redis分布式

2020-07-30 09:35:09

Redis分布式鎖數據庫

2022-06-27 08:36:27

分布式事務XA規范

2019-12-27 16:00:56

分布式事務框架Java

2025-05-23 08:10:00

Go分布式任務系統語言

2024-02-19 00:00:00

Redis分布式

2021-06-28 14:45:07

分布式框架操作

2024-08-07 08:15:47

2017-07-01 16:02:39

分布式ID生成器

2013-09-11 16:02:00

Spark分布式計算系統

2022-04-14 07:56:30

公平鎖Java線程

2021-06-04 20:09:19

ID分布式設計

2019-01-28 11:46:53

架構運維技術
點贊
收藏

51CTO技術棧公眾號

色综合久久久网| 麻豆精品国产91久久久久久| 欧美电影精品一区二区| 少妇人妻在线视频| 亚洲色大成网站www| 美女脱光内衣内裤视频久久影院| 欧美日韩第一页| 国产中文字幕一区二区| 免费视频观看成人| 亚洲 欧美综合在线网络| 日韩精彩视频| 亚洲第一天堂网| 日韩不卡免费视频| 欧美精品电影免费在线观看| 欧洲美熟女乱又伦| 91亚洲无吗| 欧美日韩一区二区不卡| 欧美亚洲日本一区二区三区| 女女色综合影院| av男人天堂一区| 91精品久久久久久久久久另类| 日韩精品成人一区| 欧美电影一区| 亚洲人成电影网站色…| www日本在线观看| 日韩久久一区| 色噜噜夜夜夜综合网| 国产欧美精品aaaaaa片| 搞黄视频在线观看| 91在线高清观看| 91视频免费进入| 一本久道久久综合无码中文| 在线一区欧美| 欧美精品999| xxxx日本少妇| 婷婷色综合网| 色777狠狠综合秋免鲁丝| 国产乱了高清露脸对白| 最新国产精品精品视频| 在线电影院国产精品| 冲田杏梨av在线| 午夜激情成人网| 欧美日韩激情视频8区| 国产肉体ⅹxxx137大胆| 欧美人与禽猛交乱配| 亚洲色图都市小说| 熟女视频一区二区三区| 蜜桃视频网站在线观看| 国产精品久久久久一区| 亚洲精品成人自拍| chinese偷拍一区二区三区| 久久免费午夜影院| 久久爱av电影| 欧美理论在线观看| 久久久.com| 五月婷婷一区| 日本天堂在线观看| 亚洲三级在线播放| 亚洲一区 在线播放| 国产秀色在线www免费观看| 中文字幕一区二区三区不卡| 午夜啪啪免费视频| 高清全集视频免费在线| 亚洲精选视频免费看| 国产一级片91| аⅴ资源天堂资源库在线| 亚洲成人精品一区| 国产精品沙发午睡系列| 新片速递亚洲合集欧美合集| 欧美性大战xxxxx久久久| 亚洲天堂2018av| 国产不卡精品| 欧美变态凌虐bdsm| 久久无码人妻精品一区二区三区| 亚洲婷婷影院| 精品久久久av| 久久久久久免费观看| 日韩视频在线一区二区三区 | 日本中文字幕在线观看| 国产精品福利一区| 小泽玛利亚av在线| 日韩精品av| 欧美视频中文字幕| a级大片免费看| 欧美变态网站| 中文字幕日韩精品在线观看| 欧美做爰爽爽爽爽爽爽| 99精品视频免费观看视频| 国产精品久久久久久网站| 91久久精品国产91性色69| 国产成人av福利| 欧美一区二区在线| 在线免费av导航| 日韩欧美精品网站| 91在线第一页| 亚洲永久精品唐人导航网址| 久久视频免费观看| 国产精品国产三级国产专区52 | 久久精品一卡二卡| 日韩精品导航| 久久亚洲精品中文字幕冲田杏梨| 国产欧美日韩另类| 精品中文字幕一区二区小辣椒| 国产精品久久久久av福利动漫| 国产大学生校花援交在线播放| 亚洲精品一卡二卡| 国产精品无码专区av在线播放| 99精品女人在线观看免费视频| 亚洲黄页视频免费观看| 91香蕉视频网| 久久精品一本| 国产伦精品一区二区三区高清| 日本中文字幕在线看| 疯狂做受xxxx欧美肥白少妇| 337p日本欧洲亚洲大胆张筱雨| 成人三级视频| 日本精品久久电影| 超碰在线观看av| 中文字幕在线观看不卡视频| 少妇高清精品毛片在线视频| 你懂的在线观看一区二区| 久久福利视频网| 国产精品欧美综合| 久久综合色一综合色88| 精品无码国产一区二区三区av| 色综合.com| 中文字幕日韩精品在线观看| 亚洲免费黄色网址| 北岛玲一区二区三区四区| 性做爰过程免费播放| 欧美成人高清视频在线观看| 亚洲欧美日韩中文在线制服| 日韩欧美激情视频| 成人免费视频视频| 国产内射老熟女aaaa| 国产欧美日韩电影| 久久精品国亚洲| 91九色蝌蚪91por成人| 国产精品久久综合| 国产小视频精品| 成人在线电影在线观看视频| 国产高清视频一区三区| 欧美日韩视频精品二区| 欧美性xxxx极品hd欧美风情| 真人bbbbbbbbb毛片| 国产精品视区| 欧美极品日韩| 欧美性猛交xxx高清大费中文| 精品视频在线播放色网色视频| 日韩免费观看一区二区| 99re亚洲国产精品| 中文字幕无码精品亚洲35| 欧美亚洲国产日韩| 欧美一二三视频| 男女av在线| 日本二三区不卡| 亚洲高潮女人毛茸茸| 美日韩一级片在线观看| 在线观看成人av| 精品视频一区二区三区在线观看| 欧美精品少妇videofree| www.五月天激情| 亚洲国产视频一区| 好吊一区二区三区视频| 三级欧美韩日大片在线看| 日本一区二区三区免费看| 福利一区在线| 九九热精品在线| 人妻中文字幕一区| 欧美性生交xxxxxdddd| 婷婷色一区二区三区| 精品在线免费观看| 欧美高清中文字幕| 亚洲自拍电影| 国产欧美在线视频| 人人澡人人添人人爽一区二区| 亚洲精品美女久久| 中文资源在线播放| 一区二区日韩av| 国产夫妻性爱视频| 精品一区二区三区免费观看 | 老司机一区二区三区| 欧美日韩精品中文字幕一区二区| 国产精品原创视频| 欧美福利视频网站| 国产三级在线观看| 日韩欧美国产一区二区在线播放| 自拍偷拍欧美亚洲| 国产精品久久综合| 国产女人18毛片水真多18| 日韩专区欧美专区| 青青草综合在线| 国产一区二区三区91| 97操在线视频| 3d欧美精品动漫xxxx无尽| 欧美巨乳在线观看| 国产天堂素人系列在线视频| 日韩一级大片在线观看| 99re这里只有精品在线| 亚洲精品视频在线观看免费| 蜜桃传媒一区二区亚洲av| 国内精品不卡在线| 久久精品午夜福利| 欧美三级特黄| 亚洲三区四区| 欧美美女啪啪| 91黄在线观看| 国产原创一区| 日韩av成人在线| 欧美xxxx黑人又粗又长| 色偷偷偷综合中文字幕;dd| 网站黄在线观看| 欧美一区二区三区男人的天堂| 日批视频免费在线观看| 亚洲午夜激情av| 日本福利片在线观看| 国产欧美日产一区| 欧洲一级黄色片| 成人三级在线视频| 国产精品久久久久野外| 蜜桃精品视频在线| 国产成人a亚洲精v品无码| 国产精品分类| 男人j进女人j| 99久久婷婷| 亚洲高清在线观看一区| 亚州av一区| 国产一区二区免费电影| 日本一区二区三区播放| 国产欧美日韩视频| 天天综合网站| 国产a∨精品一区二区三区不卡| 成人爽a毛片免费啪啪动漫| 久久精品国产视频| 麻豆网在线观看| 日韩中文字幕在线视频| 国产youjizz在线| 一区二区福利视频| 韩国中文免费在线视频| 亚洲欧美日韩网| 日韩美女一级视频| 亚洲免费高清视频| 天堂а在线中文在线无限看推荐| 亚洲电影免费观看| 日本免费网站在线观看| 亚洲第一精品夜夜躁人人躁| 亚洲不卡免费视频| 精品国产乱码久久久久久老虎| 性色av蜜臀av| 精品久久久久久久久久久久久久久久久| 国产乱淫片视频| 欧美一区二区精品| 亚洲av无码国产综合专区| 欧美草草影院在线视频| 亚洲黄色在线播放| 亚洲国产成人在线播放| 天天色综合久久| 亚洲日韩欧美视频| www.亚洲.com| 久久伊人色综合| 男人天堂亚洲| 91成人性视频| av亚洲一区二区三区| 国产精品自拍偷拍| www.久久草.com| 懂色av一区二区三区在线播放| 国产精品jk白丝蜜臀av小说| 国产精品视频免费一区| 亚洲婷婷伊人| 在线国产精品网| 欧美视频不卡| 亚洲自偷自拍熟女另类| 日韩高清不卡一区二区三区| 欧美日韩精品区别| 国产98色在线|日韩| 国产高清自拍视频| 国产精品婷婷午夜在线观看| 久久久精品视频免费观看| 亚洲va国产va欧美va观看| 日韩中文字幕高清| 4438亚洲最大| 四虎精品在线| 北条麻妃久久精品| 精精国产xxxx视频在线播放| 国产精品电影久久久久电影网| 精品国产18久久久久久二百| 激情小说综合网| 日韩成人综合| 日韩伦理在线免费观看| 麻豆久久一区二区| 欧美性生交xxxxx| 亚洲国产精品黑人久久久| 久久久久久久久艹| 色欧美日韩亚洲| 亚洲乱码在线观看| 亚洲天堂成人在线| 日本高清成人vr专区| 国产成人精品免高潮费视频| 日韩精品一区二区三区中文 | 性做久久久久久免费观看欧美| 夜夜躁日日躁狠狠久久av| 日韩一二在线观看| 岛国视频免费在线观看| 久久久亚洲精选| 日韩大陆av| 日本精品国语自产拍在线观看| 欧美午夜国产| 免费一区二区三区在线观看| 91视视频在线直接观看在线看网页在线看| 99在线视频免费| 狠狠做深爱婷婷久久综合一区| 国产视频一区二区三| 国产一区二区三区丝袜| 电影在线观看一区| 亚洲va码欧洲m码| 成人羞羞在线观看网站| 国产亚洲精品网站| 国产99久久久国产精品 | 亚洲成人av一区二区| 一本色道久久综合无码人妻| 精品亚洲国产视频| 国产三线在线| 亚洲自拍小视频| 国产韩日影视精品| 密臀av一区二区三区| av激情亚洲男人天堂| 久久久久久久久99| 欧美一级欧美三级| 巨大荫蒂视频欧美大片| 国产精品一区久久久| 国产一区2区| 精品中文字幕av| 91麻豆蜜桃一区二区三区| 久久久无码精品亚洲国产| 91精品国产高清一区二区三区蜜臀| www.中文字幕久久久| 国产精品视频一区二区高潮| 国产精品欧美在线观看| 毛片av免费在线观看| 91色porny在线视频| 久久99精品波多结衣一区| 欧美精品一区男女天堂| 6699嫩草久久久精品影院| 国产高清自拍99| 亚洲大胆视频| 日本黄色免费观看| 欧美日韩一区二区免费视频| 青青九九免费视频在线| 日本精品视频在线播放| 精品国产成人| 色哟哟精品视频| 亚洲欧美电影院| www香蕉视频| 午夜精品视频网站| 女同久久另类99精品国产| 99热在线这里只有精品| 久久综合精品国产一区二区三区 | 国产在线精品一区二区中文| 99av国产精品欲麻豆| 成人精品在线观看视频| 色婷婷av一区二区三区大白胸| 国产美女性感在线观看懂色av| 国产精品国产自产拍高清av水多| 精品视频免费在线观看| 亚洲天堂网2018| 艳妇臀荡乳欲伦亚洲一区| 无码国产精品高潮久久99| 欧洲一区二区视频| 日韩精品一区二区三区免费观看| 91亚洲精品久久久蜜桃借种| 亚洲另类中文字| 黄色三级网站在线观看| 日本欧美一级片| 99久久亚洲精品蜜臀| 最新日本中文字幕| 色综合激情五月| 国产精品久久麻豆| 精品日韩电影| 日本免费新一区视频| 欧美色图一区二区| 日韩成人av网| 亚洲青青一区| 分分操这里只有精品| 国产调教视频一区| av中文字幕第一页| 全亚洲最色的网站在线观看| 久久亚洲国产| 国产精品无码在线| 欧美日韩久久一区二区| 成人女同在线观看| 午夜精品短视频| 大白屁股一区二区视频| 懂色av蜜臀av粉嫩av喷吹| 欧美国产第一页| 精品视频99| 老熟妇精品一区二区三区| 欧美日韩美女一区二区| 国产精品xx| 致1999电视剧免费观看策驰影院| 成人av在线资源|