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

百億級日訪問量的應用如何做緩存架構設計?

開發 架構
微博日活躍用戶 1.6 億+,每日訪問量達百億級,面對龐大用戶群的海量訪問,良好的架構且不斷改進的緩存體系具有非常重要的支撐作用。

 微博日活躍用戶 1.6 億+,每日訪問量達百億級,面對龐大用戶群的海量訪問,良好的架構且不斷改進的緩存體系具有非常重要的支撐作用。

[[232164]]

本文由新浪微博技術專家陳波老師,分為如下四個部分跟大家詳細講解那些龐大的數據都是如何呈現的:

  • 微博在運行過程中的數據挑戰
  • Feed 平臺系統架構
  • Cache 架構及演進
  • 總結與展望

微博在運行過程中的數據挑戰

Feed 平臺系統架構

Feed 平臺系統架構總共分為五層:

  • 最上面是端層,比如 Web 端、客戶端、大家用的 iOS 或安卓的一些客戶端,還有一些開放平臺、第三方接入的一些接口。
  • 下一層是平臺接入層,不同的池子,主要是為了把好的資源集中調配給重要的核心接口,這樣遇到突發流量的時候,就有更好的彈性來服務,提高服務穩定性。
  • 再下面是平臺服務層,主要是 Feed 算法、關系等等。
  • 接下來是中間層,通過各種中間介質提供一些服務。
  • 最下面一層就是存儲層。

Feed Timeline

大家日常刷微博的時候,比如在主站或客戶端點一下刷新,***獲得了十到十五條微博,這是怎么構建出來的呢?

刷新之后,首先會獲得用戶的關注關系。比如他有一千個關注,會把這一千個 ID 拿到,再根據這一千個 UID,拿到每個用戶發表的一些微博。

同時會獲取這個用戶的 Inbox,就是他收到的特殊的一些消息,比如分組的一些微博、群的微博、下面的關注關系、關注人的微博列表。

拿到這一系列微博列表之后進行集合、排序,拿到所需要的那些 ID,再對這些 ID 去取每一條微博 ID 對應的微博內容。

如果這些微博是轉發過來的,它還有一個原微博,會進一步取原微博內容。通過原微博取用戶信息,進一步根據用戶的過濾詞對這些微博進行過濾,過濾掉用戶不想看到的微博。

根據以上步驟留下的微博,會再進一步來看,用戶對這些微博有沒有收藏、點贊,做一些 Flag 設置,還會對這些微博各種計數,轉發、評論、贊數進行組裝,***才把這十幾條微博返回給用戶的各種端。

這樣看來,用戶一次請求得到的十幾條記錄,后端服務器大概要對幾百甚至幾千條數據進行實時組裝,再返回給用戶。

整個過程對 Cache 體系強度依賴,所以 Cache 架構設計優劣會直接影響到微博體系表現的好壞。

Feed Cache 架構

接下來我們看一下 Cache 架構,它主要分為六層:

  • ***層是 Inbox,主要是分組的一些微博,然后直接對群主的一些微博。Inbox 比較少,主要是推的方式。
  • 第二層是 Outbox,每個用戶都會發常規的微博,都會到它的 Outbox 里面去。根據存的 ID 數量,實際上分成多個 Cache,普通的大概是 200 多條,如果長的大概是 2000 條。
  • 第三層是一些關系,它的關注、粉絲、用戶。
  • 第四層是內容,每一條微博一些內容存在這里。
  • 第五層就是一些存在性判斷,比如某條微博我有沒有贊過。之前有一些明星就說我沒有點贊這條微博怎么顯示我點贊了,引發了一些新聞。而這種就是記錄,實際上她有在某個時候點贊過但可能忘記了。
  • 最下面還有比較大的一層——計數,每條微博的評論、轉發等計數,還有用戶的關注數、粉絲數這些數據。

Cache 架構及演進

簡單 KV 數據類型

[[232165]]

[[232166]]

接下來我們著重講一下微博的 Cache 架構演進過程。最開始微博上線時,我們是把它作為一個簡單的 KV 數據類型來存儲。

我們主要采取哈希分片存儲在 MC 池子里,上線幾個月之后發現一些問題:有一些節點機器宕機或是其他原因,大量的請求會穿透 Cache 層達到 DB 上去,導致整個請求變慢,甚至 DB 僵死。

于是我們很快進行了改造,增加了一個 HA 層,這樣即便 Main 層出現某些節點宕機情況或者掛掉之后,這些請求會進一步穿透到 HA 層,不會穿透到 DB 層。

這樣可以保證在任何情況下,整個系統***率不會降低,系統服務穩定性有了比較大的提升。

對于這種做法,現在業界用得比較多,然后很多人說我直接用哈希,但這里面也有一些坑。

比如我有一個節點,節點 3 宕機了,Main 把它給摘掉,節點 3 的一些 QA 分給其他幾個節點,這個業務量還不是很大,穿透 DB,DB 還可以抗住。

但如果這個節點 3 恢復了,它又加進來之后,節點 3 的訪問就會回來,稍后節點 3 因為網絡原因或者機器本身的原因,它又宕機了,一些節點 3 的請求又會分給其他節點。

這個時候就會出現問題,之前分散給其他節點寫回來的數據已經沒有人更新了,如果它沒有被剔除掉就會出現混插數據。

實際上微博是一個廣場型的業務,比如突發事件,某明星找個女朋友,瞬間流量就 30% 了。

突發事件后,大量的請求會出現在某一些節點,會導致這些節點非常熱,即便是 MC 也沒辦法滿足這么大的請求量。這時 MC 就會變成瓶頸,導致整個系統變慢。

基于這個原因,我們引入了 L1 層,還是一個 Main 關系池,每一個 L1 大概是 Main 層的 N 分之一,六分之一、八分之一、十分之一這樣一個內存量,根據請求量我會增加 4 到 8 個 L1,這樣所有請求來了之后首先會訪問 L1。

L1 ***的話就會直接訪問,如果沒有***再來訪問 Main-HA 層,這樣在一些突發流量的時候,可以由 L1 來抗住大部分熱的請求。

對微博本身來說,新的數據就會越熱,只要增加很少一部分內存就會抗住更大的量。

簡單總結一下:通過簡單 KV 數據類型的存儲,我們實際上是以 MC 為主的,層內 Hash 節點不漂移,Miss 穿透到下一層去讀取。

通過多組 L1 讀取性能提升,能夠抗住峰值、突發流量,而且成本會大大降低。

對讀寫策略,采取多寫,讀的話采用逐層穿透,如果 Miss 的話就進行回寫。對存在里面的數據,我們最初采用 Json/xml,2012 年之后就直接采用 Protocol Buffer 格式,對一些比較大的用 QuickL 進行壓縮。

集合類數據

剛才講到簡單的 QA 數據,那對于復雜的集合類數據怎么來處理?

比如我關注了 2000 人,新增 1 個人,就涉及到部分修改。有一種方式是把 2000 個 ID 全部拿下來進行修改,但這種對帶寬、機器壓力會很大。

還有一些分頁獲取,我存了 2000 個,只需要取其中的第幾頁,比如第二頁,也就是第十到第二十個,能不能不要全量把所有數據取回去。

還有一些資源的聯動計算,會計算到我關注的某些人里面 ABC 也關注了用戶 D。這種涉及到部分數據的修改、獲取,包括計算,對 MC 來說實際上是不太擅長的。

各種關注關系都存在 Redis 里面取,通過 Hash 分布、儲存,一組多存的方式來進行讀寫分離?,F在 Redis 的內存大概有 30 個 T,每天都有 2-3 萬億的請求。

在使用 Redis 的過程中,實際上還是遇到其他一些問題。比如從關注關系,我關注了 2000 個 UID,有一種方式是全量存儲。

但微博有大量的用戶,有些用戶登錄得比較少,有些用戶特別活躍,這樣全部放在內存里成本開銷是比較大的。

所以我們就把 Redis 使用改成 Cache,比如只存活躍的用戶,如果你最近一段時間沒有活躍,會把你從 Redis 里踢掉,再次有訪問的時候再把你加進來。

這時存在一個問題,因為 Redis 工作機制是單線程模式,如果它加某一個 UV,關注 2000 個用戶,可能擴展到兩萬個 UID,兩萬個 UID 塞回去基本上 Redis 就卡住了,沒辦法提供其他服務。

所以我們擴展一種新的數據結構,兩萬個 UID 直接開了端,寫的時候直接依次把它寫到 Redis 里面去,讀寫的整個效率就會非常高。

它的實現是一個 long 型的開放數組,通過 Double Hash 進行尋址。

我們對 Redis 進行了一些其他的擴展,大家可能也在網上看到過我們之前的一些分享,把數據放到公共變量里面。

整個升級過程,我們測試 1G 的話加載要 10 分鐘,10G 大概要 10 分鐘以上,現在是毫秒級升級。

對于 AOF,我們采用滾動的 AOF,每個 AOF 是帶一個 ID 的,達到一定的量再滾動到下一個 AOF 里去。

對 RDB 落地的時候,我們會記錄構建這個 RDB 時,AOF 文件以及它所在的位置,通過新的 RDB、AOF 擴展模式,實現全增量復制。

其他數據類型:計數

接下來還有一些其他的數據類型,比如一個計數,實際上計數在每個互聯網公司都可能會遇到,對一些中小型的業務來說,實際上 MC 和 Redis 足夠用的。

但在微博里計數出現了一些特點:單條 Key 有多條計數,比如一條微博,有轉發數、評論數,還有點贊;一個用戶有粉絲數、關注數等各種各樣的數字。

因為是計數,它的 Value size 是比較小的,根據它的各種業務場景,大概就是 2-8 個字節,一般 4 個字節為多。

然后每日新增的微博大概十億條記錄,總記錄就更可觀了,然后一次請求,可能幾百條計數要返回去。

計數器 Counter Service

最初是可以采取 Memcached,但它有個問題,如果計數超過它內容容量時,會導致一些計數的剔除,宕機或重啟后計數就沒有了。

另外可能有很多計數它為零,那這個時候怎么存,要不要存,存的話就占很多內存。

微博每天上十億的計數,光存 0 都要占大量的內存,如果不存又會導致穿透到 DB 里去,對服務的可溶性會存在影響。

2010 年之后我們又采用 Redis 訪問,隨著數據量越來越大之后,發現 Redis 內存有效負荷還是比較低的,它一條 KV 大概需要至少 65 個字節。

但實際上我們一個計數需要 8 個字節,然后 Value 大概 4 個字節,所以有效只有 12 個字節,還有四十多個字節都是被浪費掉的。

這還只是單個 KV,如果在一條 Key 有多個計數的情況下,它就浪費得更多了。

比如說四個計數,一個 Key 8 個字節,四個計數每個計數是 4 個字節,16 個字節大概需要 26 個字節就行了,但是用 Redis 存大概需要 200 多個字節。

后來我們通過自己研發的 Counter Service,內存降至 Redis 的五分之一到十五分之一以下,而且進行冷熱分離,熱數據存在內存里,冷數據如果重新變熱,就把它放到 LRU 里去。

落地 RDB、AOF,實現全增量復制,通過這種方式,熱數據單機可以存百億級,冷數據可以存千億級。

整個存儲架構大概是上圖這樣,上面是內存,下面是 SSD,在內存里是預先把它分成 N 個 Table,每個 Table 根據 ID 的指針序列,劃出一定范圍。

任何一個 ID 過來先找到它所在的 Table,如果有直接對它增增減減,有新的計數過來,發現內存不夠的時候,就會把一個小的 Table Dump 到 SSD 里去,留著新的位置放在最上面供新的 ID 來使用。

有些人疑問說,如果在某個范圍內,我的 ID 本來設的計數是 4 個字節,但是微博特別熱,超過了 4 個字節,變成很大的一個計數怎么處理?

對于超過限制的,我們把它放在 Aux dict 進行存放,對于落在 SSD 里的 Table,我們有專門的 IndAux 進行訪問,通過 RDB 方式進行復制。

其他數據類型:存在性判斷

除了計數,微博還有一些業務,一些存在性判斷。比如一條微博展現的,有沒有點贊、閱讀、推薦,如果這個用戶已經讀過這個微博了,就不要再顯示給他。

這種有一個很大的特點,它檢查是否存在,每條記錄非常小,比如 Value 1 個 bit 就可以了,但總數據量巨大。

比如微博每天新發表微博 1 億左右,讀的可能有上百億、上千億這種總的數據需要判斷。

怎么來存儲是個很大的問題,而且這里面很多存在性就是 0。還是前面說的,0 要不要存?

如果存了,每天就存上千億的記錄;如果不存,那大量的請求最終會穿透 Cache 層到 DB 層,任何 DB 都沒辦法抗住那么大的流量。

我們也進行了一些選型:首先直接考慮能不能用 Redis。單條 KV 65 個字節,一個 KV 可以 8 個字節的話,Value 只有 1 個 bit,這樣算下來每日新增內存有效率是非常低的。

第二種我們新開發的 Counter Service,單條 KV Value 1 個 bit,我就存 1 個 byt,總共 9 個 byt 就可以了。

這樣每日新增內存 900G,存的話可能就只能存***若干天的,存個三天差不多快 3 個 T 了,壓力也挺大,但比 Redis 已經好很多。

我們最終方案是自己開發 Phantom,先采用把共享內存分段分配,最終使用的內存只用 120G 就可以。

算法很簡單,對每個 Key 可以進行 N 次哈希,如果哈希的某一個位它是 1,那么進行 3 次哈希,三個數字把它設為 1。

把 X2 也進行三次哈希,后面來判斷 X1 是否存在的時候,從進行三次哈希來看,如果都為 1 就認為它是存在的;如果某一個哈希 X3,它的位算出來是 0,那就***肯定是不存在的。

它的實現架構比較簡單,把共享內存預先拆分到不同 Table 里,在里面進行開方式計算,然后讀寫,落地的話采用 AOF+RDB 的方式進行處理。

整個過程因為放在共享內存里面,進程要升級重啟數據也不會丟失。對外訪問的時候,建 Redis 協議,它直接擴展新的協議就可以訪問我們這個服務了。

[[232167]]

小結一下:到目前為止,我們關注了 Cache 集群內的高可用、擴展性、組件高性能,還有一個特別重要就是存儲成本,還有一些我們沒有關注到的,比如運維性如何,微博現在已經有幾千差不多上萬臺服務器等。

進一步優化

服務化

采取的方案首先就是對整個 Cache 進行服務化管理,對配置進行服務化管理,避免頻繁重啟,另外如果配置發生變更,直接用一個腳本修改一下。

服務化還引入 Cluster Manager,實現對外部的管理,通過一個界面來進行管理,可以進行服務校驗。

服務治理方面,可以做到擴容、縮容,SLA 也可以得到很好的保障。另外,對于開發來說,現在就可以屏蔽 Cache 資源。

總結與展望

***簡單總結一下,對于微博 Cache 架構來說,我們從它的數據架構、性能、儲存成本、服務化等不同方面進行了優化增強。歡迎對此有研究或有疑問的同行們留言,跟我們一起探討。

責任編輯:武曉燕 來源: 中生代技術
相關推薦

2018-06-05 09:31:01

微博緩存架構設計

2019-10-31 09:32:58

Redis微博緩存

2018-01-30 14:26:49

監控應用性能管理運維管理

2018-05-21 09:15:06

Redis美團點評數據庫運維

2019-10-28 11:00:37

RedisMySQL數據庫

2019-07-24 08:55:09

APP重設計界面

2018-05-17 10:10:17

架構設計優化

2017-04-01 09:04:54

docker自動化

2018-05-28 08:20:12

服務器Redis優化

2022-07-17 06:54:51

Eureka架構

2023-08-20 12:21:18

軟件開發架構設計

2022-04-11 09:15:00

前端開發技術

2009-07-30 15:50:49

ASP.NET中網站訪

2021-01-11 10:19:51

安全架構

2019-12-04 09:05:15

千萬級流量高并發

2020-01-17 11:00:23

流量系統架構

2020-01-14 10:41:45

網絡安全網絡安全技術周刊

2011-06-19 12:12:12

網站瀏覽量訪問量

2023-06-05 08:17:03

2018-12-17 09:02:25

百億大表維度查詢
點贊
收藏

51CTO技術棧公眾號

少妇人妻无码专区视频| caoporn国产精品免费公开| 五级黄高潮片90分钟视频| 精品3atv在线视频| 日韩一区在线播放| aa成人免费视频| 久久久精品福利| 日韩久久精品| 精品国产免费人成在线观看| 女性女同性aⅴ免费观女性恋| av在线天堂播放| 顶级嫩模精品视频在线看| 日本国产欧美一区二区三区| 麻豆明星ai换脸视频| 人人精品亚洲| 日韩一区二区三区电影在线观看| 五十路熟女丰满大屁股| 日本在线看片免费人成视1000| 成人精品亚洲人成在线| 国产精品久久视频| 日本三级黄色大片| 不卡在线一区二区| 亚洲精品美女久久久| 久热精品在线播放| 欧美gv在线| 中文字幕亚洲在| 欧美日韩在线精品一区二区三区| www.成人精品| 另类欧美日韩国产在线| 欧美专区中文字幕| 日本少妇吞精囗交| 亚洲最大黄网| 最近中文字幕2019免费| 亚洲熟妇一区二区| 欧美男女视频| 在线观看视频欧美| 欧美综合在线观看视频| av资源在线| 亚洲一区二区三区四区在线| 一区二区精品免费视频| 成年人在线视频| 国产午夜亚洲精品羞羞网站| 久久久久资源| 少妇一区二区三区四区| 丁香六月综合激情| 91九色在线观看| 国产精品玖玖玖| 毛片不卡一区二区| 国产精品久久久久av| 中文字幕在线看人| 男女精品视频| 欧美一级视频一区二区| 精品少妇久久久| 国产一区久久| 97精品欧美一区二区三区| 国产精品成人免费观看| 女主播福利一区| 欧美精品性视频| 久久99久久久| 黄色亚洲免费| 欧美一区第一页| 亚洲综合图片网| 丝袜脚交一区二区| 国产精品视频公开费视频| 久久久久久亚洲av无码专区| 日产欧产美韩系列久久99| 国产成人在线一区| 在线观看国产成人| 国产一区二区伦理| 国产精品一区二区不卡视频| 色偷偷在线观看| 91日韩精品一区| 日韩欧美精品在线不卡 | 9.1麻豆精品| 91麻豆精品国产无毒不卡在线观看 | 性欧美videos| 国内精品久久久久久久97牛牛| 国内外成人免费激情在线视频网站| 日本天堂网在线观看| 香蕉亚洲视频| 国产乱人伦真实精品视频| 国产特级黄色片| 成人精品国产福利| 欧美激情一区二区三区在线视频| 在线视频1区2区| 一区av在线播放| 欧美国产亚洲一区| 久久亚洲精品爱爱| 日韩免费性生活视频播放| 亚洲午夜久久久久久久久| 国产一区二区三区亚洲| 国产亚洲a∨片在线观看| 美国一级片在线观看| 黄色成人在线网址| 国产成人免费av| 国产乱码精品一区二三区蜜臂| 成人性色生活片免费看爆迷你毛片| 久久一区免费| 日本天堂在线观看| 亚洲v中文字幕| 伊人影院综合在线| 国产精品成人自拍| 亚洲性av在线| 免费在线看黄网址| 久久久999| 亚洲free性xxxx护士hd| 日韩欧美电影在线观看| 亚洲手机成人高清视频| 欧美日韩在线中文| 久久av网站| 影音先锋日韩有码| 日本三级黄色大片| 老司机精品视频一区二区三区| 成人黄动漫网站免费| av在线电影院| 亚洲成人av资源| 性生活免费在线观看| 欧美三级电影在线| 欧美精品做受xxx性少妇| 免费黄色小视频在线观看| 成人免费看的视频| 亚洲人成人77777线观看| 嗯~啊~轻一点视频日本在线观看| 在线观看91精品国产麻豆| 黄瓜视频污在线观看| 海角社区69精品视频| 成人在线小视频| 北岛玲一区二区三区| 欧美日韩亚洲一区二| 亚洲图片欧美另类| 欧美日韩国产亚洲一区| 成人在线小视频| 欧美尤物美女在线| 欧美亚洲自拍偷拍| 毛片网站免费观看| 国产精品人人爽人人做我的可爱| 国产精品国模大尺度私拍| dy888亚洲精品一区二区三区| 欧美日韩成人综合在线一区二区 | 国产精品免费丝袜| 欧美激情成人网| 亚洲视频分类| 欧美专区在线播放| 极品美乳网红视频免费在线观看 | 久久久久久国产| www五月婷婷| 一区二区三区免费观看| 超碰91在线播放| 欧美一区免费| 99热国产免费| 2020日本在线视频中文字幕| 精品福利在线导航| 国产在线视频你懂的| 成人国产精品免费观看视频| 国产综合中文字幕| 欧美日韩一区二区三区在线电影| 欧洲精品毛片网站| 国产经典自拍视频在线观看| 欧亚洲嫩模精品一区三区| 一级在线观看视频| 国产呦精品一区二区三区网站| 成年人免费观看的视频| 在线免费成人| 欧美激情按摩在线| 成人无码一区二区三区| 精品国产老师黑色丝袜高跟鞋| 超碰97人人干| 另类小说综合欧美亚洲| japanese在线播放| 久久久久97| 国产精品白嫩美女在线观看| 色综合久久影院| 日韩视频永久免费| 四虎永久在线精品| 国产婷婷精品av在线| 久久久久久蜜桃一区二区| 亚洲精品久久久| 国产精品高清一区二区三区| 亚洲国产成人二区| 色妞久久福利网| 亚洲av无码专区在线| 欧美视频裸体精品| 成人高潮免费视频| 99麻豆久久久国产精品免费| 亚洲成人福利在线观看| 久久精品亚洲人成影院| 久久精品国产一区二区三区日韩 | 91国内在线| 亚洲国产精品一区二区三区| 波多野结衣绝顶大高潮| 亚洲欧美一区二区三区孕妇| 老熟妇精品一区二区三区| 日日夜夜免费精品视频| 九九久久九九久久| 日韩在线你懂的| 成人精品网站在线观看| 国产精品25p| 日韩视频在线一区| 天天干视频在线观看| 欧美视频你懂的| 日韩乱码一区二区| 亚洲女与黑人做爰| 久久久久亚洲av无码专区桃色| 精品一区二区影视| 亚洲中文字幕无码不卡电影| 中文字幕av亚洲精品一部二部| 久久综合久久综合这里只有精品| 高清一区二区中文字幕| 国产91精品在线播放| 免费看电影在线| 久久精品国产2020观看福利| 男人的天堂在线视频| 欧美成人一级视频| 一级片在线免费观看视频| 欧美日韩另类视频| 精品国产乱码久久久久久鸭王1| 久久精品视频免费| 国内精品免费视频| 国产米奇在线777精品观看| 女人另类性混交zo| 日韩视频一区| 欧美大片免费播放| 99久久夜色精品国产亚洲96| 日韩精品第一页| 亚洲精品蜜桃乱晃| 久久精品magnetxturnbtih| **爰片久久毛片| 成人精品网站在线观看| 国产精品久久久久久妇女| 欧美一级片在线播放| 草草在线视频| 国语对白做受69| 五月天激情在线| 久久综合亚洲社区| 国内精品久久久久久野外| 自拍视频国产精品| 成人激情电影在线看| 亚洲欧美一区二区三区情侣bbw| 色婷婷综合视频| 亚洲国产精品国自产拍av秋霞| 亚洲精品第五页| 精品91自产拍在线观看一区| 成人黄色免费视频| 日韩精品一区二区三区视频 | 久久久精品蜜桃| 免费看黄色的视频| 久久人人爽爽爽人久久久| 国产传媒第一页| 久久看人人爽人人| 最近中文字幕在线mv视频在线| 久久久久综合网| 亚洲欧美va天堂人熟伦| 国产精品系列在线| 免费黄色激情视频| 亚洲视频在线一区观看| 青草影院在线观看| 亚洲午夜久久久久中文字幕久| 欧美黄色免费观看| 午夜影院在线观看欧美| 精品91久久久| 欧美日韩中文字幕在线视频| 黄色在线免费观看| 欧美性猛片xxxx免费看久爱| 一本色道久久综合熟妇| 51精品国自产在线| www.97超碰| 日韩av在线高清| 97在线观看免费观看高清 | 国产中文字字幕乱码无限| 亚洲成人中文在线| av黄色在线播放| 欧美日韩一二三| 99热这里只有精品3| 亚洲成年人在线| 免费在线性爱视频| 日韩在线欧美在线国产在线| 青青青国内视频在线观看软件| 4438全国成人免费| 欧美一区二区三区婷婷| 成人片在线免费看| 国产精品片aa在线观看| 警花观音坐莲激情销魂小说| 中日韩视频在线观看| 牛夜精品久久久久久久| 高清不卡在线观看| 亚洲精品国产91| 一区二区三区国产精品| 亚洲自拍一区在线观看| 欧美一区二区三区免费观看视频| 手机看片国产1024| 日韩视频精品在线| 国产在线天堂www网在线观看| 国产精品日韩在线一区| 爱高潮www亚洲精品| 亚洲精品久久久久久一区二区| 欧美日韩国产欧| 欧美午夜aaaaaa免费视频| 国产成人在线视频网址| 精品人妻中文无码av在线| 亚洲色图清纯唯美| 国内自拍视频在线播放| 日韩欧美一二三四区| 高清日韩av电影| 久久久久久亚洲精品| 懂色aⅴ精品一区二区三区| 国产伦精品一区二区三区在线| 久久综合国产| 黑鬼大战白妞高潮喷白浆| 成人午夜精品一区二区三区| 美国精品一区二区| 欧美色xxxx| 国产成人无码www免费视频播放| 正在播放欧美视频| 625成人欧美午夜电影| 痴汉一区二区三区| 91视频久久| 日本va中文字幕| bt7086福利一区国产| 男女羞羞免费视频| 这里只有精品电影| 成人午夜影视| 日韩av电影在线播放| 久久99国产精品久久99大师| 欧美大片免费播放| 国产一区在线观看麻豆| 一本在线免费视频| 91九色02白丝porn| 久青青在线观看视频国产| 97香蕉超级碰碰久久免费软件| 91精品导航| 91网站在线观看免费| 国产一区二区三区香蕉| 日韩av片在线免费观看| 在线日韩一区二区| 黄色av免费在线看| 欧日韩在线观看| 日韩精品社区| 成人毛片视频网站| 97超碰欧美中文字幕| 日韩av在线电影| 亚洲国产精品yw在线观看 | 免费a级在线播放| 国产精品自产拍在线观看中文| 欧洲grand老妇人| 黄色av免费在线播放| 国产欧美一区二区精品婷婷 | 一区二区三区四区不卡| 麻豆视频观看网址久久| 国产白丝一区二区三区| 欧美片网站yy| av网址在线看| 91九色视频在线观看| 亚洲国产精品第一区二区| 国产高潮失禁喷水爽到抽搐| 亚洲成av人片在www色猫咪| 亚洲三区在线播放| 国产福利精品视频| 国产精品久久久久久| 欧美体内she精高潮| 亚洲一区在线看| 日本在线视频1区| 国产精品久久久久久av下载红粉| 日韩精品一区二区久久| 久久精品国产99久久99久久久| 亚洲伊人伊色伊影伊综合网 | 日韩在线播放av| 久久久久毛片免费观看| 美脚丝袜脚交一区二区| 91香蕉视频污| 国产偷人爽久久久久久老妇app| 日韩中文字幕视频| youjizz亚洲| 日本老熟妇毛茸茸| 国产精品不卡视频| 人妻少妇精品无码专区久久| 日本欧美爱爱爱| 91久久久精品国产| 久草视频福利在线| 欧美综合在线视频| av网站网址在线观看| 九色91在线视频| 裸体一区二区三区| 久久精品国产av一区二区三区| 亚洲欧美中文日韩在线v日本| 天堂久久一区| 日韩精品 欧美| 亚洲国产精品激情在线观看| www日本高清视频| 国产成人精品午夜| 综合久久十次| 一二三不卡视频| 91麻豆精品国产综合久久久久久| av影视在线| 一本一道久久a久久综合精品| 高清日韩电视剧大全免费| 亚洲高清视频免费观看| 久久久久久久一| 久久久综合色| 精品久久久久久中文字幕人妻最新| 日韩一卡二卡三卡四卡|