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

小紅書如何應對萬億級社交網絡關系挑戰?圖存儲系統 REDtao 來了!

數據庫 云原生
小紅書是一個社區屬性為主的產品,它涵蓋了各個領域的生活社區,并存儲海量的社交網絡關系。為解決社交場景下超大規模數據的更新與關聯讀取問題,并減少數據庫壓力和成本,我們自研了面向超大規模社交網絡的圖存儲系統 REDtao,大大提高了系統穩定性。

1.背景

小紅書是以年輕人為主的生活記錄、分享平臺,用戶可以通過短視頻、圖文等形式記錄生活點滴,分享生活方式。在小紅書的社交領域里,我們有用戶、筆記、商品等實體,這些實體之間有各種各樣的關系。例如,用戶與筆記之間可能存在“擁有”(發布)、“點贊”、“收藏”等三種關系,同時還存在對應的反向關系“被點贊”,“被收藏”等。

圖片圖片

小紅書的社交圖譜數據已經達到了萬億條邊的規模,且增長速度非常快。當用戶登陸小紅書時,每個用戶都會看到關注的好友、粉絲、點贊、收藏以及其他為其量身定做的內容。

圖片圖片

這些信息高度個性化,需要實時從這些海量社交關系數據中讀取用戶相關信息。這是一個讀為主的過程,讀取壓力非常大。

過去,我們將這些社交圖譜數據都存儲在運維成熟的 MySQL 數據庫中。然而,即使我們只有百萬請求每秒的規模,MySQL 的 CPU 使用率仍然到達了 55% 。隨著用戶和 DAU 爆發式的增長,需要不斷擴容 MySQL 數據庫,這帶來了巨大的成本和穩定性壓力。為了解決這些問題且考慮到沒有合適的開源方案,2021 年初我們開啟了從 0 到 1 自研 REDtao 的歷程。

2.REDtao的圖模型和API

我們充分調研了業內其他廠商的實現,發現有著強社交屬性的公司基本上都有一個自研的圖存儲系統:

圖片

Facebook 實現了一個叫做 “TAO” 專門的分布式社交圖譜數據庫,并將其作為最核心的存儲系統;Pinterest 和 Facebook 類似,也實現了類似的圖存儲系統;字節跳動自研了 ByteGraph 并將其用于存儲核心的社交圖譜數據;Linkedln 在 KV 之上構建了社交圖譜服務。

考慮到當時我們的社交圖譜數據已經存放在 MySQL 數據庫上且規模巨大,而社交圖譜數據服務是非常重要的服務,對穩定性的要求非常高。回溯 Facebook 當年遇到的問題和我們類似,數據存儲在 Memcache 和 MySQL 中。因此,參考 Facebook 的 Tao 圖存儲系統更貼合我們的實際情況和已有的技術架構,風險更小。

社交圖譜的訪問主要是邊的關系查詢。我們的圖模型將關系表示為一個 <key, value> 對,其中 key 是 ( FromId,  AssocType,  ToId ) 的三元組,value 是屬性的  JSON 格式。比如“用戶 A ”關注“用戶 B ”,映射到 REDtao 的數據存儲結構為:

<FromId:用戶A的ID, AssocType:關注, ToId:用戶B的ID>  ->  Value (屬性的json字段)

我們對業務方的需求進行分析,封裝了 25 個圖語義的 API 給業務方使用,滿足了其增刪改查的需求,并收斂業務方的使用方式。相比于 Facebook 的 Tao,我們還補充了社交圖譜所需要的圖語義,為反作弊場景提供了額外的過濾參數。同時,在緩存層面,我們支持對不同的字段在緩存中配置局部二級索引。下面給一些典型的使用場景:

場景一:

獲取關注了 A 的所有正常用戶(并且剔除作弊用戶)

getAssocs(“被關注類型”, 用戶A的ID, 分頁偏移量, 最大返回值, 只返回正常用戶,是否按照時間從新到舊)

場景二:

獲取 A 的粉絲個數(并且剔除作弊用戶)

getAssocCount(“被關注類型”, 用戶A的ID, 只返回正常用戶)

3.REDtao架構設計

REDtao 的架構設計考慮了下面這幾個關鍵的要素:

圖片圖片

3.1 整體架構

整體架構分為三層:接入層、緩存層和持久層。業務方通過 REDtao SDK 接入服務。如下圖:

圖片圖片

在這個架構中,和 Facebook Tao 不一樣的是,我們的緩存層是一個獨立的分布式集群,和下面的持久層是解耦的。緩存層和下面的持久層可以獨立的擴容縮容,緩存分片和 MySQL 分片不需要一一對應,這樣帶來了更好的靈活性,MySQL 集群也變成了一個可以插拔替換的持久存儲。

讀流程:客戶端將讀請求發送給 router,router 接收到 RPC 請求后,根據邊類型選擇對應的 REDtao 集群,根據三元組 ( FromId,  AssocType,  ToId ) 通過一致性 Hash 計算出分片所在的 Follower 節點,將請求轉發到該節點上。Follower 節點接收到該請求,首先查詢本地的圖緩存,如果命中則直接返回結果。如果沒有命中,則將請求轉發給 Leader 節點。同樣的,Leader 節點如果命中則返回,如果不命中則查詢底層 MySQL 數據庫。

寫流程:客戶端將寫請求發送給 router,和讀流程一樣,會轉發到對應的 Follower 節點上。Follower 節點會轉發寫請求給 Leader 節點,Leader 節點轉發給 MySQL,當 MySQL 返回寫入成功后,Leader 會清除本地圖緩存對應的 Key,并同步給其他所有 Follower 清除掉該 Key,保證數據的最終一致性。

3.2 高可用

REDtao 分為獨立的兩層:緩存層和持久層。每一層都保證高可用性。

自研的分布式緩存:

我們自研了實現圖語義的分布式 cache 集群,支持故障自動檢測和恢復、水平擴縮容。

它是一個雙層 cache,每個分片都有一個 Leader 和若干個 Follower。所有的請求都先發給外層的 Follower,再由 Follower 轉發給 Leader。這樣的好處是讀壓力大的時候只需要水平擴展 Follower,單點 Leader 寫入的方式也降低了復雜度,更容易實現數據的一致性。

如果一個副本故障,系統會在秒級別內進行切換。當持久層發生故障時,分布式緩存層仍然可以對外提供讀取服務。

高可用的MySQL集群:

MySQL 集群通過自研的中間件實現了分庫分表方案,并支持 MySQL 的水平擴容。每個 MySQL 數據庫有若干從庫,并且與公司內部其他的 MySQL 運維方案一致,保證高可用性。

限流保護功能:

為防止緩存擊穿導致 MySQL 突發大量請求,從而導致 MySQL 宕機,我們通過限制每個主節點最大 MySQL 并發請求數來實現限流保護 MySQL。達到最大并發請求限制之后的請求會被掛起等待,直到已有請求被處理返回,或者達到等待超時請求被拒絕不會被繼續請求到 MySQL 。限流閾值在線可調,根據 MySQL 集群規模調整對應限制。

為防止爬蟲或者作弊用戶頻繁刷同一條數據,我們利用 REDtaoQueue 順序執行對寫入或者點查同一條邊的請求,隊列長度會被限制,控制同一時間大量相同的請求執行。相比于單個全局的隊列控制所有請求的方式,基于每個請求的隊列可以很好地限制單個同一請求,而不影響其他正常請求。

3.3 極致性能

數據結構的設計是 REDtao 高性能的重要保證。我們采用了三層嵌套 HashTable 的設計, 通過根據某個起點 from_id 從第一級 HashTable 中查找到 REDtaoGraph,記錄了所有 type 下對應的所有的出邊信息。接著,在第二級 HashTable 中,根據某個 type_id 查找到 AssocType 對應某個 type 下邊所有出邊的計數、索引以及其他元數據。最終在最后一級 HashTable ,通過 AssocType 的某個 to_id 查找到最終邊信息。我們記錄了創建時間、更新時間、版本、數據以及 REDtaoQueue,time_index 則對應根據創建時間排序列表。最后一級 HashTable 以及索引限制存儲最新的 1000 個邊信息,以限制超級點占據過多內存,同時集中提高最新熱數據的查詢命中率以及效率。REDtaoQueue 用于排隊當前某個關系的讀寫,只記錄了當前最后一個請求的元數據。每次查詢或寫入時,首先查詢 REDtaoAssoc,若緩存不存在,則會首先創建只包含 REDtaoQueue 的對象;若緩存已存在,則會更新隊列元數據,將自己設置為隊列的最后一個請求,并掛起等待被執行。

圖片圖片

通過這種多層 hash+ 跳表的設計,我們能高效地組織點、邊、索引、時間序鏈表之間的關系。內存的申請、釋放在同一個線程上完成。

在線上環境中,我們的系統可以在一臺 16 核的云廠商虛擬機上跑到 150w 查詢請求/s,同時 CPU 利用率僅有 22.5% 。下方是線上集群的一個監控圖,單機的 QPS 到達 3w ,每個 RPC 請求聚合了 50 個查詢。

圖片圖片

圖片圖片

圖片圖片

3.4 易用性

豐富的圖語義 API :

我們在 REDtao 中封裝了 25 個圖語義的 API 給業務方使用,滿足了業務方的增刪改查的需求。業務方無需自行編寫 SQL 語句即可實現相應操作,使用方式更加簡單和收斂。

統一的訪問 URL :

由于社區后端數據太大,我們按照不同的服務和優先級拆分成了幾個 REDtao 集群。為了讓業務方不感知后端的集群拆分邏輯,我們實現了統一的接入層。不同的業務方只需使用同一個服務 URL ,通過 SDK 將請求發送到接入層。接入層會接收到不同業務方的圖語義的請求,并根據邊的類型路由到不同的 REDtao 集群。它通過訂閱配置中心,能夠實時感知到邊的路由關系,從而實現統一的訪問 URL,方便業務方使用。

圖片圖片

3.5 數據的一致性

作為社交圖譜數據,數據的一致性至關重要。我們需要嚴格保證數據的最終一致性以及一定場景下的強一致性。為此,我們采取了以下措施:

緩存更新沖突的解決:

REDtao 為每個寫入請求生成一個全局遞增的唯一版本號。在使用 MySQL 數據更新本地緩存時,需要比較版本號,如果版本號比緩存的數據版本低,則會拒絕此更新請求,以避免沖突。

寫后讀的一致性:

Proxy 會將同一個 fromId 的點或邊請求路由到同一個讀 cache 節點上,以保證讀取數據一致性。

主節點異常場景:

Leader 節點收到更新請求后,會將更新請求變為 invalidate cache 請求異步的發送給其他 follower,以保證 follower 上的數據最終一致。在異常情況下,如果 Leader 發送的隊列已滿導致 invalidate cache 請求丟失,那么會將其他的 follower cache 全部清除掉。如果 Leader 故障,新選舉的 Leader 也會通知其他 follower 將 cache 清除。此外,Leader 會對訪問 MySQL 的請求進行限流,從而保證即使個別分片的cache被清除掉也不會將 MySQL 打崩。

少量強一致的請求:

由于 MySQL 的從庫也提供讀服務,對于少量要求強一致的讀請求,客戶端可以將請求染上特殊標志,REDtao 會透傳該標志,數據庫 Proxy 層會根據該標志將讀請求轉發到 MySQL 主庫上,從而保證數據的強一致。

3.6 跨云多活

跨云多活是公司的重要戰略,也是 REDtao 支持的一個重要特性。REDtao 的跨云多活架構整體如下:

圖片圖片

這里不同于 Facebook Tao 的跨云多活實現,Facebook Tao 的跨云多活實現如下圖:

圖片圖片

Facebook 的方案依賴于底層的 MySQL 的主從復制都通過 DTS Replication 來做。而 MySQL 原生的主從復制是自身功能,DTS 服務并不包含 MySQL 的主從復制。該方案需要對 MySQL 和 DTS 做一定的改造。前面說到,我們的緩存和持久層是解藕的,在架構上不一樣。

因此,REDtao 的跨云多活架構是我們結合自身場景下的設計,它在不改動現有 MySQL 功能的前提下實現了跨云多活功能:

1)持久層我們通過 MySQL 原生的主從 binlog 同步將數據復制到其他云的從庫上。其他云上的寫請求和少量要求強一致讀將被轉發到主庫上。正常的讀請求將讀取本區的 MySQL 數據庫,滿足讀請求對時延的要求。

2)緩存層的數據一致性是通過 MySQL DTS 訂閱服務實現的,將 binlog 轉換為 invalidate cache 請求,以清理掉本區 REDtao cache 層的 stale 數據。由于讀請求會隨機讀取本區的任何一個 MySQL 數據庫,因此 DTS 訂閱使用了一個延遲訂閱的功能,保證從 binlog 同步最慢的節點中讀取日志,避免 DTS 的 invalidate cache 請求和本區 read cache miss 的請求發生沖突從而導致數據不一致。

3.7 云原生

REDtao 的云原生特性重點體現在彈性伸縮、支持多 AZ 和 Region 數據分布、產品可以實現在不同的云廠商間遷移等幾個方面。REDtao 在設計之初就考慮到支持彈性擴縮容、故障自動檢測及恢復。

隨著 Kubernetes 云原生技術越來越成熟,我們也在思考如何利用 k8s 的能力將部署和虛擬機解綁,進一步云原生化,方便在不同的云廠商之間部署和遷移。REDtao 實現了一個運行在 Kubernetes 集群上的 Operator,以實現更快的部署、擴容和壞機替換。為了讓 k8s 能感知集群分片的分配并且控制同一分片下的 Pods 調度在不同宿主機上,集群分組分片分配由 k8s Operator 渲染并控制創建 DuplicateSet (小紅書自研 k8s 資源對象)。REDtao 則會創建主從并根據 Operator 渲染出來的分片信息創建集群,單個 Pod 故障重啟會重新加入集群,無需重新創建整個集群。集群升級時,Operator 通過感知主從分配控制先從后主的順序,按照分片分配的順序滾動升級以減少升級期間線上影響。

圖片

4.老服務的平滑升級

但凡變革,皆屬不易。實現全新的 REDtao 只是完成了相對容易的那部分工作。小紅書的社交圖譜數據服務已經在 MySQL 上運行多年,有很多不同的業務跑在上面,任何小的問題都會影響到小紅書的在線用戶。因此,如何保證不停服的情況下讓現有業務無感知地遷移到 REDtao 上成為一個非常大的挑戰。我們的遷移工作關鍵有兩點:

● 將老的大 MySQL 集群按優先級拆分成了四個 REDtao 集群。這樣,我們可以先將優先級最低的服務遷移到一個 REDtao 集群,充分灰度后再遷移高優先級的集群。

● 專門開發了一個 Tao Proxy SDK,支持對原來的 MySQL 集群和 REDtao 集群進行雙寫雙讀,數據校驗比對。

遷移時,我們首先將低優先級的數據從 MySQL 通過 DTS 服務遷移到了一個 REDtao 集群,并升級好業務方的 SDK 。DTS 服務一直對增量數據進行同步。業務方 SDK 會訂閱配置中心的配置變更,我們修改配置讓 Tao Proxy SDK 同時讀寫 MySQL 集群和 REDtao 集群,并關閉 DTS 服務。此時會使用 MySQL 集群的結果返回給用戶。

在停止 DTS 服務時,有可能會有新的 MySQL 數據通過 DTS 同步過來,造成了 REDtao 集群新寫的數據被同步過來的老數據覆蓋。因此,在關閉 DTS 服務后,我們會通過工具讀取開雙寫之后到關閉 DTS 服務這個時間段的 binlog 對數據進行校驗和修復。

修復完成之后,Tao Proxy SDK 的雙讀會展示兩邊不一致的數據量,并過濾掉因為雙寫時延不一致導致數據不一致的請求。灰度一段時間后觀察到 diff 的數目基本為 0,將 Tao Proxy SDK 的配置改為只讀寫新的 REDtao 集群。

最終,我們在 22 年初完成小紅書所有核心社交圖譜萬億邊級別數據的遷移和正確性校驗,并做到了整個遷移服務無感知,遷移過程沒有發生一起故障。

5.上線的結果和收益

我們的社交圖譜數據訪問中,90% 以上的請求都是讀請求,并且社交圖譜的數據有非常強的時間局部性(即最近更新的數據最容易被訪問)。REDtao 上線后,獲得 90% 以上的 cache 命中率, 對MySQL 的 QPS 降低了 70%+ ,大大降低了 MySQL 的 CPU 使用率。在縮容 MySQL 的副本數目后,整體成本降低了21.3%。


圖片圖片

業務的訪問方式都全部收斂到 REDtao 提供的 API 接口上,在遷移過程中,我們還治理了一些老的不合理訪問 MySQL 數據庫的方式,以及自定義某些字段賦予特殊含義的不合理做法,通過 REDtao 規范了數據訪問。

對比 2022 年初和 2023 年初,隨著 DAU 的增長,社交圖譜的請求增長了 250% 以上,如果是之前 MySQL 的老架構,擴容資源基本上和請求增長速度成正比,至少需要擴容 1 倍的資源成本(數萬核)。而得益于 REDtao 系統的存在,因其 90% 的緩存命中率,實際上整體成本只增加了 14.7%(數千核)就能扛下 2.5 倍的請求增長。在成本和穩定性上有了較大的提升。

圖片

6.總結和未來一些展望

在較短的時間,我們自研了圖存儲系統 REDtao ,解決了社交圖譜關系數據快速增長的問題。

REDtao 借鑒了 FaceBook Tao 的論文,并對整體架構、跨云多活做了較多的改進,全新實現了一個高性能的分布式圖緩存,更加貼合我們自身的業務特點和提供了更好的彈性。同時,利用 k8s 能力進一步實現了云原生化。

隨著 DAU 的持續增長,萬億的數據規模也在繼續增長,我們也面臨著更多的技術挑戰。目前公司內部的 OLTP 圖場景主要分為三塊:

●社交圖譜數據服務:通過自研圖存儲系統 REDtao 滿足了社交場景超大規模數據的更新與關聯讀取問題。目前已經存儲了萬億規模的關系。

●風控場景:通過自研圖數據庫 REDgraph,滿足多跳的實時在線查詢。目前存儲了千億點和邊的關系,滿足 2 跳以及 2 跳以上的查詢。(關于 REDgraph 的介紹我們將放在下一篇文章中分享)

●社交推薦:這塊主要是兩跳的查詢。每天通過 Hive 批量地導入全量的數據,通過 DTS 服務近實時的寫入更新數據。因為是在線場景,對時延的要求非常高,當前的 REDgraph 還無法滿足這么高的要求,因此業務方主要是用 REDkv 來存儲。

針對以上場景,為了快速滿足業務需求,我們使用了三套不同的自研存儲系統:REDtao 、REDgraph 和 REDkv 。顯然相對于 3 套存儲系統,用一個統一的架構和系統去解決這幾個圖相關的場景是更加合適的。未來,我們會將 REDgraph 和 REDtao 融合成一個統一的數據庫產品,打造業內頂尖的圖技術,對公司內部更多的場景進行賦能。最后,歡迎對技術有著極致追求,志同道合的同學一起加入我們。

7.作者簡介

空洞:小紅書基礎架構存儲組,負責圖存儲系統 REDtao 和分布式緩存的研發

劉備:小紅書基礎架構存儲組負責人,負責REDkv / REDtao / REDtable / REDgraph 的整體架構和技術演進

8.團隊簡介

基礎架構-存儲組是給小紅書的業務部門提供穩定可靠的存儲和數據庫服務,滿足業務對存儲產品的功能、性能、成本和穩定性要求。

目前負責自研分布式 KV、分布式緩存、圖存儲系統、圖數據庫和表格存儲。已上線的存儲產品包括:

● REDkv : 分布式高性能 KV

● REDtao :滿足一跳查詢的高性能圖存儲數據庫

● REDtable :提供 Schema 語義和二級索引的表格存儲

● REDgraph :提供兩跳及以上的圖語義查詢數據庫

責任編輯:龐桂玉 來源: 小紅書技術REDtech
相關推薦

2012-09-04 13:58:50

存儲海量存儲華為

2021-10-07 16:45:44

存儲網絡場景

2017-07-04 10:58:57

SAN存儲網絡存儲系統架構

2020-09-28 13:23:03

云存儲

2022-09-29 09:08:15

數據體系

2012-09-05 17:29:32

存儲系統華為

2013-05-14 13:37:46

華為UDS存儲系統

2018-08-17 09:56:25

閃存企業應對

2025-11-18 10:00:56

2025-06-09 09:41:25

2018-09-29 14:08:04

存儲系統分布式

2022-08-18 09:12:17

存儲數據

2014-01-07 09:15:24

云集成云存儲RESTful

2025-08-01 09:03:16

2022-09-06 10:21:24

物聯網安全漏洞

2023-11-09 11:25:42

2009-09-24 16:56:12

2009-07-14 22:20:16

存儲虛擬化虛擬化網絡

2018-01-11 09:09:36

存儲廠商業界
點贊
收藏

51CTO技術棧公眾號

樱桃视频在线观看一区| 亚洲精品一区二区毛豆| 亚洲三级电影网站| 国产精品国精产品一二| 人妻少妇精品久久| 色婷婷综合久久久久中文| 成人福利一区二区| 色偷偷中文字幕| 亚洲九九九在线观看| 欧美三级第一页| 欧美一区二区三区不卡视频| 成人午夜两性视频| 久久久久久久久伊人| 日本三级视频在线观看| 成人观看免费完整观看| 在线电影国产精品| 欧美色图婷婷| 日本三级午夜理伦三级三| 成人免费淫片视频软件| 久久免费国产精品| а√在线中文在线新版| 在线观看中文av| 久久激情视频久久| 蜜桃视频一区二区三区在线观看| 少妇一区二区三区四区| 潘金莲一级淫片aaaaaa播放1| 精品欧美国产一区二区三区| 超碰成人在线免费| 翔田千里88av中文字幕| 久久久久国产精品免费网站| 国产一区高清在线| 麻豆传媒在线完整视频| 50路60路老熟妇啪啪| 亚洲人成绝费网站色www | 一区二区三区四区乱视频| 日韩欧美中文字幕一区二区三区 | 日本乱人伦一区| 国产suv精品一区| 1024在线看片| 91探花福利精品国产自产在线 | 麻豆视频一区二区| 日本三级在线视频| 无套白嫩进入乌克兰美女| 欧美激情视频三区| 久久久噜噜噜久久中文字幕色伊伊 | 色综合久久88色综合天天看泰| 国产成人丝袜美腿| 日本高清在线观看视频| 青青草成人免费视频| 性日韩欧美在线视频| 国产欧美日本一区视频| 国产美女视频一区二区| 欧美特黄aaaaaa| 欧美性受黑人性爽| 国产一区二区三区在线观看视频| 国产最新精品免费| 国产精品原创| 男女做暖暖视频| 欧美一区国产一区| 亚洲高清福利视频| 久久精品久久久精品美女| 91美女主播在线视频| 国产一二三四区| 欧美成人免费在线| 亚洲福利视频专区| 狠狠色狠狠色合久久伊人| 日本高清在线观看视频| 欧美偷拍第一页| 欧美另类网站| 亚洲男人天堂古典| 久久欧美一区二区| 欧美wwwwww| 亚洲春色一区二区三区| 中文字幕视频三区| 国产精品久久久久久久久久| 欧美在线免费视屏| 九一九一国产精品| 精品视频在线观看免费观看| 影音先锋国产资源| 最新中文字幕免费视频| 国产精品一区二区久久久| 色噜噜狠狠色综合欧洲selulu| 日韩一级网站| 欧美性suv| 久久午夜鲁丝片| 午夜精品中文字幕| 国产精品区一区二区三在线播放| 欧美一区二区三区视频在线 | 在线播放日韩精品| 国产精品免费久久| 狠狠爱www人成狠狠爱综合网| 国产蜜臀av在线播放| 亚洲 欧美 视频| 欧美激情成人网| 成人激情综合网| 日韩精品一区二区三区中文不卡 | 亚洲婷婷在线观看| 亚洲第一精品区| 欧美精品精品精品精品免费| 欧美日韩日日夜夜| 99re这里都是精品| 欧美日韩中文一区二区| 主播国产精品| 久久永久免费视频| 下面一进一出好爽视频| 日本在线视频不卡| 久久久视频精品| 欧美日韩一区二区三区四区五区| 精品一区二区三区视频 | 国产精品国产精品国产专区不蜜 | 日产福利视频在线观看| 亚洲一区二区人妻| 老司机午夜免费福利| 亚洲国产日韩美| 欧美在线激情网| 666欧美在线视频| 国产精品自拍网站| 日韩一区电影| 涩涩在线视频| 亚洲第一页在线观看| 顶级黑人搡bbw搡bbbb搡| 日本va中文字幕| 久久久久久99| 69久久夜色精品国产69| 欧美成人a∨高清免费观看| 国产精品三级av在线播放| 亚洲美女色禁图| 婷婷精品视频| 欧美不卡高清一区二区三区| 色鬼7777久久| 欧美特黄aaaaaa| 日本黄色录像片| 国产精品亚洲天堂| 亚洲aⅴ男人的天堂在线观看 | 粉嫩老牛aⅴ一区二区三区| 不卡的av在线| 香蕉亚洲视频| 久久亚洲在线| 久久爱.com| 波多野结衣中文字幕久久| 少妇高潮一区二区三区99小说| 91精品国产高清一区二区三密臀| 色噜噜日韩精品欧美一区二区| 韩国一区二区av| 欧美极品一区| 99热99热| 国产91精品黑色丝袜高跟鞋| 国产亚洲精品日韩| 日韩欧美成人一区| 香蕉成人啪国产精品视频综合网| 成人一区二区视频| 久久精品123| 成人综合久久| 精品人人人人| 久久夜夜操妹子| 国产精品刘玥久久一区| 婷婷色在线观看| 国产成人精品免费看视频| 日韩高清精品免费观看| 秋霞欧美一区二区三区视频免费| 亚洲精品国产成人av在线| 国产永久免费网站| 国产在线青青草| 欧美深夜福利视频| 中文字幕一区二区三区四区五区人| 精品国产乱码久久久久软件| 成人午夜在线影院| 国产精品欧美久久久| 国产成人精品视频在线观看| 欧美在线视频导航| 97色伦亚洲国产| 51精品在线观看| 国内精品久久久久伊人av| 欧美精品在线观看91| 蜜月aⅴ免费一区二区三区| 中文字幕亚洲字幕| 亚洲欧美日韩直播| 中文字幕国产亚洲2019| 日韩精品在线观看视频| 亚洲精品www久久久| 亚洲欧美999| 中文字幕亚洲字幕| 精品国内自产拍在线观看| 中文字幕日韩有码| 欧美麻豆久久久久久中文| 久久久久久中文| 日韩美女在线观看| 91热精品视频| 国产精品一区在线播放| 久久综合久久综合这里只有精品| 久久久国产精品一区二区三区| 精品在线观看一区二区| 亚洲欧美久久久久一区二区三区| 一区二区欧美日韩| 免费人成在线观看视频播放| 亚洲人精品午夜射精日韩| 男女高潮又爽又黄又无遮挡| 黄色aaa级片| 天堂网在线免费观看| 亚洲最大视频网| www久久久久久久| 一区视频免费观看| 中文字幕免费视频观看| а√天堂资源在线| 电影av在线| 日韩伦理在线一区| 99久久香蕉| 国内精品久久久久久久影视简单| 欧美va亚洲va日韩∨a综合色| 久久精品道一区二区三区| 国产精品夜夜嗨| 国产欧美一区二区在线| 午夜久久久影院| 精品国产乱码久久久久久夜甘婷婷| 国产亚洲欧洲高清| 久久免费视频在线| 成人欧美一区二区三区黑人孕妇| 一本久久a久久精品vr综合| 免费一级特黄特色毛片久久看| 一区二区三区四区影院| 九九在线观看视频| 免费观看a视频| 91在线超碰| 国内精品国产成人国产三级粉色| 小处雏高清一区二区三区| 男人的天堂亚洲| 国产色综合一区| 欧美精品第一页| 精品国产一区二区三区久久久狼 | 亚洲一区二区三区美女| 亚洲成人久久久久| 国内久久久精品| 久久久久久99| 亚洲精品mv在线观看| 久久精品www人人爽人人| 免费在线不卡av| 爆操欧美美女| 女人抽搐喷水高潮国产精品| 久久精品日产第一区二区| 国产亚洲欧美激情| 欧美一激情一区二区三区| 久久久久久久久久久久久久久久久久av | 亚洲欧美在线观看| 精品粉嫩aⅴ一区二区三区四区| 久久久久成人网| 最新国产精品久久| 国产黄色三级网站| 亚洲中文字幕在线一区| 热色播在线视频| 色喇叭免费久久综合网| a级高清视频欧美日韩| 欧美日韩在线播放一区| 午夜精品久久久久久久99黑人| 中文字幕一区二区三区精彩视频| 中文字幕 日本| www.av日韩| 久久精品 人人爱| 天堂va蜜桃一区二区三区 | 免费成人深夜天涯网站| 黄色片网站免费在线观看| 唐人社导航福利精品| 亚洲看片免费| 亚洲精品国产成人久久av盗摄 | 成人一区二区在线| 天天看片天天操| 天天综合久久综合| xxx.xxx欧美| 韩国自拍一区| 亚洲日本va中文字幕| 日本在线不卡一区| 欧美日韩一区中文字幕| 国产啪精品视频| xxxx视频在线观看| 手机看片国产1024| 欧美男gay| 国产精品不卡在线观看| 久久综合伊人77777| 很污的网站在线观看| 日本黄色一级视频| 91成人app| 99re热视频这里只精品| 色综合伊人色综合网| 成人免费a级片| 国产免费a视频| **爰片久久毛片| 国产亚洲一本大道中文在线| 久久成人这里只有精品| 国产男女无遮挡| 精品国产无码AV| 日韩欧美午夜| 狠狠综合久久av一区二区小说| 国产精品久久久久aaaa九色| 久久久久无码国产精品一区李宗瑞 | 亚洲福利小视频| 制服国产精品| 亚洲精品国产精品国自产网站按摩| 亚洲精品一二三**| 亚洲视频在线观看一区| 国产91色在线| 成人网站免费观看| heyzo中文字幕在线| 国产精品一区二区三区四区 | 国产精品高清一区二区| 91麻豆福利精品推荐| 蜜臀久久99精品久久久无需会员 | 精品中文字幕一区二区三区四区| 久久亚区不卡日本| 日本免费久久高清视频| 国产乱了高清露脸对白| 中文字幕在线看片| 久久久亚洲精品一区二区三区 | 你懂的网址国产 欧美| 欧美午夜精品免费| 亚洲人成网站在线观看播放| 欧美日韩 一区二区三区| 欧洲激情综合| 欧美久久久久久久久| 91免费网站视频| 亚洲第一黄色片| 欧美亚洲在线| 久久国产一区二区三区| 中文字幕55页| 日韩伦理精品| 欧美国产国产综合| 成人黄色免费网站在线观看| 麻豆changesxxx国产| 欧美日韩大片免费观看| 欧美视频一区二| 超碰97在线看| 黄色在线播放| 精品中文字幕一区二区小辣椒| 久久艳片www.17c.com | 精品国产导航| 精品国产区一区| 熟妇女人妻丰满少妇中文字幕| 亚洲爽爆av| 91精品国产高清一区二区三区蜜臀 | 欧美成人精品欧美一级乱| 欧美gv在线观看| 色狠狠综合天天综合综合| 日本va中文字幕| 日韩色性视频| 精品国产一区二区三区久久影院| 97超碰人人澡| av在线电影院| 91免费看`日韩一区二区| 国产一区二区丝袜| 精品人妻一区二区三区潮喷在线| 狠狠干综合网| 欧美丰满少妇xxxx| 中文字幕电影av| 婷婷久久国产对白刺激五月99| 在线成人激情视频| 成都免费高清电影| 欧美日韩激情| 中文字幕亚洲一区在线观看| 日本高清黄色片| 97视频热人人精品免费| 久久久91精品国产一区不卡| 黄色录像一级片| 久久久久久美女精品| 久久久黄色av| 久久久久久久少妇| av亚洲精华国产精华| 国产99在线播放| av女名字大全列表| 久久精品男人的天堂| 一道精品一区二区三区| 久热国产在线| 亚洲成av人影院在线观看网| 亚洲午夜精品久久久久久人妖| 三级成人黄色影院| 欧美军同video69gay| 国产乱国产乱老熟300部视频| 精品视频自拍| 欧美日韩高清在线观看| 日本中文字幕在线免费观看| 国产不卡av一区二区| 91麻豆精品国产自产在线| 亚洲熟妇无码一区二区三区| 国产在线1区| 国产精品卡一卡二卡三| 综合一区中文字幕| 天天综合视频在线观看| 中文字幕欧美三区| 日本一区二区在线视频| 久久免费看视频| 亚洲日本成人在线观看| 成熟丰满熟妇高潮xxxxx视频| 乡村艳史在线观看| 日韩精品一区二区在线| 欧美熟妇激情一区二区三区| 极品日韩av| 国产一区深夜福利| 国产高清在线观看| 激情久久av一区av二区av三区| 91插插插影院| 99久久精品费精品国产| 国产精品免费久久久久久| 天堂中文在线观看视频|